construyendo una herramienta para pruebas unitarias en genexus

22
Construyendo una Construyendo una herramienta para pruebas herramienta para pruebas unitarias en GeneXus unitarias en GeneXus © © Enrique Almeida Enrique Almeida [email protected] [email protected] Alejandro Araújo Alejandro Araújo [email protected] [email protected] Uruguay Larre Borges Uruguay Larre Borges [email protected] [email protected] Proyecto GxUnit Proyecto GxUnit Reunión 1/11/2008 - GUG Montevideo - Uruguay

Upload: alejandro-araujo

Post on 03-Jul-2015

1.121 views

Category:

Technology


1 download

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

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

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

• ¿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

• 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

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

¿Qué obtuvimos? GxUnitGxUnit

Reunión 1/11/2008 - GUG Montevideo - Uruguay

Page 7: Construyendo una herramienta para pruebas unitarias en GeneXus

Reunión 1/11/2008 - GUG Montevideo - Uruguay

GxUnit 1GxUnit 1

Page 8: Construyendo una herramienta para pruebas unitarias en GeneXus

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

GxUnit 1GxUnit 1Características: Bitácora

Verde=SatisfactorioRojo=Fallido

Resultados esperados vs. obtenidos

Page 10: Construyendo una herramienta para pruebas unitarias en GeneXus

Características: Casos de Prueba

GxUnit 1GxUnit 1

Parámetros SDT

Page 11: Construyendo una herramienta para pruebas unitarias en GeneXus

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

Reunión 1/11/2008 - GUG Montevideo - Uruguay

GxUnit 2GxUnit 2

Page 13: Construyendo una herramienta para pruebas unitarias en GeneXus

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

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

GxUnit 2GxUnit 2Características: Bitácora

Verde=SatisfactorioRojo=Fallido

Resultados esperados vs. obtenidos

Page 16: Construyendo una herramienta para pruebas unitarias en GeneXus

GxUnit 2GxUnit 2Características: Bitácora

Resultados esperados vs. obtenidos

Resultados PVUs

Page 17: Construyendo una herramienta para pruebas unitarias en GeneXus

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

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

• 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

¿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

• 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

¡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