Construcción de una Construcción de una herramienta para pruebas herramienta para pruebas
unitarias en GeneXusunitarias en GeneXus©
Enrique Almeida [email protected] Araújo [email protected] Larre Borges [email protected]
Proyecto GxUnitProyecto GxUnit
XIV Congreso Argentino de Ciencias de la Computación CACIC 2008
AgendaAgenda• GeneXus• Problema• GxUnit• Demostración• Hacia el futuro
XIV Congreso Argentino de Ciencias de la Computación CACIC 2008
Base de Datos Normalizada
XIV Congreso Argentino de Ciencias de la Computación CACIC 2008
Aplicación
KBInstancia de
Objeto GeneXus
Objetos tipo: Con UI: Transactions: Capturan las visiones de los usuarios WorkPanels, WebPanels …
Sin UI: Procedures, Business Components, …
Visiones de los Usuarios Lenguaje Declarativo
Lenguaje Procedural Incremental
Más…• Determina el impacto del cambio• Crea los programas para migración de datos• Unidad semántica fundamental: Atributo• Infiere la integridad referencial• Prototipación inmediata• Independencia Tecnológica• Extensible
XIV Congreso Argentino de Ciencias de la Computación CACIC 2008
• ¿Cómo se efectúan las pruebas unitarias en GeneXus?
Desarrollo
XIV Congreso Argentino de Ciencias de la Computación CACIC 2008
ProblemaProblema
Pruebas Unitarias
• Crear herramienta para prueba Unitaria • Fácil de usar • Detectar errores muy temprano• Hecha por la comunidad
XIV Congreso Argentino de Ciencias de la Computación CACIC 2008
Proyecto GxUnitProyecto GxUnit
Objetivos
Evolución
“Proyectode Ingeniería de
Software”. UDELAR
XIV Congreso Argentino de Ciencias de la Computación CACIC 2008
Proyecto GxUnitProyecto GxUnit
Características
• Dos equipos: 14 estudiantes c/u
• Dos soluciones independientes
• Rol cumplido: CLIENTES
¿Qué obtuvimos?¿Qué obtuvimos?
XIV Congreso Argentino de Ciencias de la Computación CACIC 2008
Proyecto GxUnitProyecto GxUnit
CaracterísticasCaracterísticas• Se expresan los casos de prueba en formato tabular
• Formato de las tablas construido en forma automatizada en base a los parámetros del objeto a probar
• Regla parm: parm(in:&parm1, in:&parm2…out:&parmn)• Columnas de las tablas: corresponden a los parámetros
expresados en la regla parm del procedure a probar• Filas de las tablas: casos de prueba
• Genera objetos GeneXus (procedures) para guiar la prueba
XIV Congreso Argentino de Ciencias de la Computación CACIC 2008
GxUnitGxUnit
Características: Casos de PruebaCaracterísticas: Casos de Prueba
GxUnitGxUnit
• Absorbe el impacto del cambio• El formato de las tablas se modifica automáticamente
cuando cambia la regla parm• Se conservan todos los datos de las tablas siempre que
sea posible
• Interfase de ejecución y reporte (similar a XUnit)
• Bitácora • Rojo=Falla Verde=Pasa• No se implementan sentencias
“Assert” (por ahora)
XIV Congreso Argentino de Ciencias de la Computación CACIC 2008
GxUnitGxUnit
Características: Casos de PruebaCaracterísticas: Casos de Prueba
GxUnit en AcciónGxUnit en Acción
XIV Congreso Argentino de Ciencias de la Computación CACIC 2008
Demostración
• Procedure a probar: División • Parámetros: Dividendo, Divisor, Resultado• Objeto para definir los casos de prueba• Tabla de 3 entradas (satisfactorio, falla, imposible)• Se agrega un parámetro• Se reconstruye el caso de prueba
• Integrar a nuevos colaboradores • Mejorar los prototipos• Pruebas de campo • Integrar los prototipos• Nuevo alcance
XIV Congreso Argentino de Ciencias de la Computación CACIC 2008
¿Qué nos falta?¿Qué nos falta?Hacia el futuroHacia el futuro
¿Qué nos falta? Nuevo alcance¿Qué nos falta? Nuevo alcance
• Editores (incluyendo tipos de datos estructurados –SDT-)
• Verificación de la base de datos• Mocks• Business Components• DataProviders y DataSelectors• Objetos con UI (?)
XIV Congreso Argentino de Ciencias de la Computación CACIC 2008
Hacia el futuroHacia el futuro
• Vínculos
• Proyecto http://www.gxopen.com • Extensiones http://wiki.gxtechnical.com• Videos
http://http://www.screencast.com/users/EAlmeida
• Agradecemos
• A los integrantes de los grupos GxUnit 1 y 2• Al equipo de desarrollo de Artech• Al cuerpo docente de Proyecto de Ingeniería de
Software, Fac. Ing. , UDELAR
XIV Congreso Argentino de Ciencias de la Computación CACIC 2008
Proyecto GxUnitProyecto GxUnit
¡Muchas gracias! ¿Preguntas?
Créditos (Grupos 1 y 2):
Adrián García
Antonio MalaquinaAnthony Figueroa
Diego GawendaDarío de León
Guillermo Polito
Federico Parins
Fernando Varesi
Cecilia Apa
Ken Tenzer
Horacio López
Ignacio Esmite
Diego San Esteban
Fernando Colman
Gervasio MarchandGuillermo Pérez
Lucía Adinolfi
Marcelo FalcónMarcelo Celio
Marcelo VignoloMartín SellanesNicolás Álvarez de Ron
Rafel Sisto Rodrigo AguerreRodrigo Ordeix Rosana RobainaSoledad Pérez
Stephanie de León
Enrique Almeida [email protected] Araújo [email protected] Larre Borges [email protected]
Proyecto GxUnitProyecto GxUnit
Top Related