miércoles, 23 de abril de 2014

Código Visual Fox con calidad asegurada, parte 1: Fox Unit & Visual FoxPro, una unión esencial

por Julián Haeberli

La calidad asegura un buen producto, si esa calidad tiene un mínimo impacto en el consumo de nuestros recursos, nuestro negocio será más redituable al reducir al mínimo el re trabajo. En este pensamiento está basado FoxUnit: nos permite realizar test unitarios para mejorar nuestro producto a un bajo costo de tiempos.




La idea es simple, hacer un pequeño test para cada clase que desarrollemos (de tipo .prg o .vcx). Una vez finalizado nuestro desarrollo, ejecutamos ese test para ver si nuestro objetivo principal se sigue cumpliendo. Haciendo varios test pequeños obtenemos una batería, si el proyecto cuenta con muchos desarrolladores entonces será una buena iniciativa usar FoxUnit para que ninguno de ellos modifique el comportamiento esperado de una clase, al menos sin estar consciente de ello.

Es un desarrollo de código abierto, por lo tanto se puede bajar la última versión del sitio oficial (1.02.00) y empezar a crear test. Requiere tener instalado Microsoft Visual Fox versión 8.0 o superior.

Los test unitarios ponen énfasis en probar cada clase por completo para que podemos estar seguros de que lleva a cabo su objetivo correctamente. Esto mejora la legibilidad del código y la capacidad de prueba. Los test unitarios también mejoran la calidad general del código, lo cual trae varios beneficios a largo plazo como ahorro de tiempo y esfuerzo en el camino.

FoxUnit además es especialmente útil cuando se adopta TDD (Test Driven Development) o Desarrollo guiado por test. En ese sentido, se sugieren los siguientes consejos:
  • Escribir los test unitarios. 
  • No escribir ningún código sin antes no haber escrito un test primero. Esto asegura que sabemos lo que debe suceder antes de escribir el código. 
  • Automatizar las pruebas para que puedan repetirse con frecuencia. 
  • Utilizar los objetos mock (objetos falsos) para aplicar suficiente funcionalidad para probar los objetos que interactúan entre sí. 
TDD es ideal para los componentes de nivel medio, ya que cada clase en la que se hace la prueba tiene que ser capaz de valerse por sí misma, o sea, tiene que ser independiente, tiene que estar bien separada del resto de las clases. Si nuestras clases visuales (tales como formularios y combos) tienen sus propios métodos personalizados, también podremos escribir pruebas para ellos, pero deberemos hacer más trabajo para las pruebas de integración (cuando se asegura de que todos trabajan juntos).

Links Útiles:

  • Sitio oficial:

  • Review:


En Baufest nos preocupamos por la calidad del código entregado a nuestros clientes. Por eso siempre estamos buscando las mejores soluciones.