domingo, mayo 05, 2019

Pruebas Unitarias en GeneXus

Dentro de la comunidad GeneXus no existe mucho apego a las pruebas unitarias o no es una práctica común, por lo menos esa es mi impresión. En realidad si tengo que ser justo veo que las pruebas unitarias no son utilizadas por muchos programadores independientemente del lenguaje que usen.

Dentro de la industria existen muchas empresas que tienen dentro de sus prácticas la utilización de pruebas unitarias pero no lo veo muy adaptado por parte de los programadores o la mayoría de los que pude hablar lo ven como algo que les quita tiempo.

Estudiando el tema dentro de la comunidad no pude encontrar muchas opiniones sobre el tema y lo que pude encontrar esta relacionado a GX-Unit que lo intente comentar en otros artículos de este blog.

En la comunidad la persona que se ha preocupado mas por el tema es Enrique Almeida y podrán encontrar varios artículos en su blog. En GeneXus 16 encontramos la posibilidad de crear "Unit Test" de forma automática la cual pueden encontrar toda la información en el siguiente link.

En síntesis GeneXus cuenta con una herramienta incluida en el IDE la cual nos permite crear pruebas unitarias de forma automática, esta herramienta es gratuita para el desarrollador pero si quiero usar estos "unit test" con mis procesos de Integración Continua (CI/CD) tengo que adquirir una licencia.

En mi experiencia con los años pude entender la importancia de las pruebas unitarias y se han convertido en una necesidad para poder brindar la calidad que los productos en los que trabajo me exigen. Esto me llevo a evaluar las herramientas existentes para GeneXus y las diferentes opiniones de miembros de la comunidad pero mi conclusión final es que las herramientas existentes tienen mucho camino por recorrer para poder cubrir todas nuestras necesidades.

Un problema de las herramientas existentes para GeneXus es que al ser poco utilizadas por la comunidad no le damos la oportunidad de que mejoren para cubrir nuestras necesidades.

En la actualidad me encuentro en un proyecto que necesita hacer refactoring y cambios grandes de arquitectura pero si no logro tener pruebas unitarias se me hace muy difícil garantizar que los cambios que hago no rompan parte de las funcionalidades existentes en el sistema.

Por este motivo estoy implementando pruebas unitarias a medida que voy modificando el código del sistema y voy a compartir mi experiencia en un próximo artículo, de todas maneras adelanto que estoy usando parte de los "unit test" de GeneXus y por otro lado programar mis pruebas unitarias a mano para poder cubrir mis necesidades.

















1 comentario:

Enrique Almeida dijo...

Desde mi punto de vista, la integración de las pruebas unitarias dentro del IDE de GeneXus, es una de las cosas que puede modificar la forma en que desarrollamos aplicaciones.
Es la primera vez que vamos a tener dentro de Genexus codigo auto-testeable. Permite escribir las validaciones en el momento de desarrollo, con lo cual todas las etapas posteriores son mas faciles y rapidas.

Estoy juntando fuerzas para trabajar en los próximos meses en generar (mas) automáticamente los casos de prueba (con datos y resultados), para facilitar la incorporación del testeo unitario en KB desarrolladas con versiones anteriores a la 16.