construyendo una herramienta para pruebas unitarias en genexus
DESCRIPTION
Presentación del proyecto GxUnit en la reunión del Grupo de Usuarios Genexus Montevideo, en Noviembre 2008.TRANSCRIPT
![Page 1: Construyendo una herramienta para pruebas unitarias en GeneXus](https://reader033.vdocuments.site/reader033/viewer/2022052601/55963a801a28abb1738b45b6/html5/thumbnails/1.jpg)
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
![Page 2: Construyendo una herramienta para pruebas unitarias en GeneXus](https://reader033.vdocuments.site/reader033/viewer/2022052601/55963a801a28abb1738b45b6/html5/thumbnails/2.jpg)
Agenda
• Problema• GxUnit• Demostración• Hacia el futuro
Reunión 1/11/2008 - GUG Montevideo - Uruguay
![Page 3: Construyendo una herramienta para pruebas unitarias en GeneXus](https://reader033.vdocuments.site/reader033/viewer/2022052601/55963a801a28abb1738b45b6/html5/thumbnails/3.jpg)
• ¿Cómo se efectúan las pruebas unitarias en GeneXus?
Desarrollo
ProblemaProblema
Pruebas Unitarias
Reunión 1/11/2008 - GUG Montevideo - Uruguay
![Page 4: Construyendo una herramienta para pruebas unitarias en GeneXus](https://reader033.vdocuments.site/reader033/viewer/2022052601/55963a801a28abb1738b45b6/html5/thumbnails/4.jpg)
• 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
![Page 5: Construyendo una herramienta para pruebas unitarias en GeneXus](https://reader033.vdocuments.site/reader033/viewer/2022052601/55963a801a28abb1738b45b6/html5/thumbnails/5.jpg)
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
![Page 6: Construyendo una herramienta para pruebas unitarias en GeneXus](https://reader033.vdocuments.site/reader033/viewer/2022052601/55963a801a28abb1738b45b6/html5/thumbnails/6.jpg)
¿Qué obtuvimos? GxUnitGxUnit
Reunión 1/11/2008 - GUG Montevideo - Uruguay
![Page 7: Construyendo una herramienta para pruebas unitarias en GeneXus](https://reader033.vdocuments.site/reader033/viewer/2022052601/55963a801a28abb1738b45b6/html5/thumbnails/7.jpg)
Reunión 1/11/2008 - GUG Montevideo - Uruguay
GxUnit 1GxUnit 1
![Page 8: Construyendo una herramienta para pruebas unitarias en GeneXus](https://reader033.vdocuments.site/reader033/viewer/2022052601/55963a801a28abb1738b45b6/html5/thumbnails/8.jpg)
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
![Page 9: Construyendo una herramienta para pruebas unitarias en GeneXus](https://reader033.vdocuments.site/reader033/viewer/2022052601/55963a801a28abb1738b45b6/html5/thumbnails/9.jpg)
GxUnit 1GxUnit 1Características: Bitácora
Verde=SatisfactorioRojo=Fallido
Resultados esperados vs. obtenidos
![Page 10: Construyendo una herramienta para pruebas unitarias en GeneXus](https://reader033.vdocuments.site/reader033/viewer/2022052601/55963a801a28abb1738b45b6/html5/thumbnails/10.jpg)
Características: Casos de Prueba
GxUnit 1GxUnit 1
Parámetros SDT
![Page 11: Construyendo una herramienta para pruebas unitarias en GeneXus](https://reader033.vdocuments.site/reader033/viewer/2022052601/55963a801a28abb1738b45b6/html5/thumbnails/11.jpg)
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
![Page 12: Construyendo una herramienta para pruebas unitarias en GeneXus](https://reader033.vdocuments.site/reader033/viewer/2022052601/55963a801a28abb1738b45b6/html5/thumbnails/12.jpg)
Reunión 1/11/2008 - GUG Montevideo - Uruguay
GxUnit 2GxUnit 2
![Page 13: Construyendo una herramienta para pruebas unitarias en GeneXus](https://reader033.vdocuments.site/reader033/viewer/2022052601/55963a801a28abb1738b45b6/html5/thumbnails/13.jpg)
GxUnit 2GxUnit 2Características: Objeto Caso de Prueba (TestSet)Objeto
Objeto “conjunto de casos de prueba”
![Page 14: Construyendo una herramienta para pruebas unitarias en GeneXus](https://reader033.vdocuments.site/reader033/viewer/2022052601/55963a801a28abb1738b45b6/html5/thumbnails/14.jpg)
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
![Page 15: Construyendo una herramienta para pruebas unitarias en GeneXus](https://reader033.vdocuments.site/reader033/viewer/2022052601/55963a801a28abb1738b45b6/html5/thumbnails/15.jpg)
GxUnit 2GxUnit 2Características: Bitácora
Verde=SatisfactorioRojo=Fallido
Resultados esperados vs. obtenidos
![Page 16: Construyendo una herramienta para pruebas unitarias en GeneXus](https://reader033.vdocuments.site/reader033/viewer/2022052601/55963a801a28abb1738b45b6/html5/thumbnails/16.jpg)
GxUnit 2GxUnit 2Características: Bitácora
Resultados esperados vs. obtenidos
Resultados PVUs
![Page 17: Construyendo una herramienta para pruebas unitarias en GeneXus](https://reader033.vdocuments.site/reader033/viewer/2022052601/55963a801a28abb1738b45b6/html5/thumbnails/17.jpg)
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
![Page 18: Construyendo una herramienta para pruebas unitarias en GeneXus](https://reader033.vdocuments.site/reader033/viewer/2022052601/55963a801a28abb1738b45b6/html5/thumbnails/18.jpg)
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
![Page 19: Construyendo una herramienta para pruebas unitarias en GeneXus](https://reader033.vdocuments.site/reader033/viewer/2022052601/55963a801a28abb1738b45b6/html5/thumbnails/19.jpg)
• 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
![Page 20: Construyendo una herramienta para pruebas unitarias en GeneXus](https://reader033.vdocuments.site/reader033/viewer/2022052601/55963a801a28abb1738b45b6/html5/thumbnails/20.jpg)
¿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
![Page 21: Construyendo una herramienta para pruebas unitarias en GeneXus](https://reader033.vdocuments.site/reader033/viewer/2022052601/55963a801a28abb1738b45b6/html5/thumbnails/21.jpg)
• 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
![Page 22: Construyendo una herramienta para pruebas unitarias en GeneXus](https://reader033.vdocuments.site/reader033/viewer/2022052601/55963a801a28abb1738b45b6/html5/thumbnails/22.jpg)
¡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