Construyendo una Construyendo una herramienta para pruebas herramienta para pruebas
unitarias en GeneXusunitarias en GeneXus©©
Enrique Almeida Enrique Almeida [email protected]@concepto.com.uyAlejandro AraújoAlejandro Araújo [email protected]@gmail.comUruguay Larre Borges Uruguay Larre Borges [email protected]@genexusconsulting.com
Proyecto GxUnitProyecto GxUnit
Reunión 1/11/2008 - GUG Montevideo - Uruguay
Agenda
• Problema• GxUnit• Demostración• Hacia el futuro
Reunión 1/11/2008 - GUG Montevideo - Uruguay
• ¿Cómo se efectúan las pruebas unitarias en GeneXus?
Desarrollo
ProblemaProblema
Pruebas Unitarias
Reunión 1/11/2008 - GUG Montevideo - Uruguay
• Crear herramienta para prueba Unitaria • Fácil de usar • Detectar errores muy temprano• Hecha por la comunidad
Proyecto GxUnitProyecto GxUnit
Objetivos
Reunión 1/11/2008 - GUG Montevideo - Uruguay
Evolución
“Proyectode Ingeniería de
Software”. UDELAR
Proyecto GxUnitProyecto GxUnit
Características
• Dos equipos: 14 estudiantes c/u
• Dos soluciones independientes
• Rol cumplido: CLIENTES
Reunión 1/11/2008 - GUG Montevideo - Uruguay
Alcance de objetos a probar:
Prueba parcial de procedures
¿Qué obtuvimos? GxUnitGxUnit
Reunión 1/11/2008 - GUG Montevideo - Uruguay
Reunión 1/11/2008 - GUG Montevideo - Uruguay
GxUnit 1GxUnit 1
GxUnit 1GxUnit 1
Procedure verificador
Resultados esperados
Características: Casos de Prueba
Parte para definir casos de prueba
Parm(in:entrada,out:salida)
Grilla para edición de la tabla con los casos de prueba
GxUnit 1GxUnit 1Características: Bitácora
Verde=SatisfactorioRojo=Fallido
Resultados esperados vs. obtenidos
Características: Casos de Prueba
GxUnit 1GxUnit 1
Parámetros SDT
Resumen GxUnit 1GxUnit 1
Reunión 1/11/2008 - GUG Montevideo - Uruguay
• Genera un procedure verificador por cada objeto verificable • Se implementan como WS
• Crea una “parte” nueva para todo procedure
• No presenta restricciones en la cantidad de parámetros y admite SDT
• Almacena los datos y los resultados en archivos XML
• Permite reconstruir los casos de prueba ante cambios en la regla parm del procedure a verificar
• Ofrece una primera aproximación a la verificación de la BD
Reunión 1/11/2008 - GUG Montevideo - Uruguay
GxUnit 2GxUnit 2
GxUnit 2GxUnit 2Características: Objeto Caso de Prueba (TestSet)Objeto
Objeto “conjunto de casos de prueba”
GxUnit 2GxUnit 2Características: Objeto Caso de Prueba (TestSet)
Extensible mediante
procedimientos verificadores del
usuario (PVU)
Grilla para edición de la tabla con los casos de prueba
Procedure a probar
GxUnit 2GxUnit 2Características: Bitácora
Verde=SatisfactorioRojo=Fallido
Resultados esperados vs. obtenidos
GxUnit 2GxUnit 2Características: Bitácora
Resultados esperados vs. obtenidos
Resultados PVUs
Resumen GxUnit 2GxUnit 2
Reunión 1/11/2008 - GUG Montevideo - Uruguay
• Genera un único objeto verificador que utiliza invocación dinámica con parámetros dinámicos
• Se implementa como WS • Prototipo solo acepta 2 parámetros de entrada y 1 de salida
• Almacena los resultados en archivos XML
• Permite reconstruir los casos de prueba ante cambios en la regla parm del procedure a verificar
• Extensible mediante PVU’s
• Bitácora con diferentes niveles de granularidad
GxUnit en Acción
Demostraciónhttp://www.screencast.com/users/EAlmeida
• 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
• Propuesta de verificación de base de datos
• Integrar a nuevos colaboradores • Mejorar los prototipos• Pruebas de campo • Integrar los prototipos• Nuevo alcance
¿Qué nos falta?¿Qué nos falta?Hacia el futuroHacia el futuro
Reunión 1/11/2008 - GUG Montevideo - Uruguay
¿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 (?)
Hacia el futuroHacia el futuro
Reunión 1/11/2008 - GUG Montevideo - Uruguay
• Vínculos
• Proyecto http://www.assembla.com/gxextensions• Videos 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
Proyecto GxUnitProyecto GxUnit
Reunión 1/11/2008 - GUG Montevideo - Uruguay
¡Muchas gracias!
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
Recommended