GXFIT II

Ayer se realizó la charla de Alejandro Araujo sobre GXFit. La presentación de su tesis de maestria estuvo buena, vimos una breve reseña de FIT, una demo Fitnesse y definió el alcance de la tesis.
También estuvo lindo el intercambio de ideas posterior sobre como seria la mejor forma de adaptar el uso de testeos unitarios a una herramienta como GeneXus.

Es un divertido caso de diferencias de nivel de abstracción entre el nivel de los testeos unitarios y un nivel mas elevado de Genexus.

Andrés Aguiar, hizo su planteo (ya expresado en su blog) en el que no tiene mucho sentido que una herramienta que genera código a partir de una especificación formal como es Genexus, también necesite otra especificación formal (los casos de pruebas programados) para probar que todo funciona bien.

También se conversó sobre la posibilidad que fuera el propio Genexus el que generara los programas necesarios para probar los programas generados.

A mi esta última opción me gusta mucho, para ser usada de la siguiente forma.

1) Tengo una base de conocimiento KB1.
2) GeneXus genera algunos programas de pruebas TKb1 y ademas el desarrollado agrega los propios.
3) Se hacen cambios a las especificaciones en la KB1, obteniendose la KB2.
4) Se ejecutan los casos de pruebas TKb1 (sin regenerarlos, o sea con las especificaciones anteriores). Con este paso podríamos ver que cosas siguen funcionando igual, a pesar del cambio en las especificaciones y cuales modificaron su comportamiento.
En dichas pruebas, se podrían guardar resultados de la corrida (útiles para pruebas funcionales) , tiempos de las mismas (útiles para pruebas de aceptación) o navegaciones de las mismas (útiles para revisar performance).

Es claro, que en el paso 4) pueden haber casos de prueba que ni siquiera sean validos y cancelen con las nuevas especificaciones (por ejemplo cuando se elimine una tabla usada por un caso de prueba).

Una vez que todos los casos de prueba que tienen errores o warnings han sido estudiados, se podría regenerar los nuevos casos de pruebas, que se adapten a las especificaciones de la KB2.

Comentarios

Entradas más populares de este blog

Aplicación monolítica o distribuida?

La nefasta influencia del golero de Cacho Bochinche en el fútbol uruguayo

Funcionalidades de GeneXus que vale la pena conocer: DATE Constants.