proyecto gxunit - congreso cacic2008 (almeida, larreborges, araújo)

16
Construcción de una Construcción de una herramienta para pruebas herramienta para pruebas unitarias en GeneXus unitarias en GeneXus © Enrique Almeida [email protected] Alejandro Araújo [email protected] Uruguay Larre Borges [email protected] Proyecto GxUnit Proyecto GxUnit XIV Congreso Argentino de Ciencias de la Computación CACIC 2008

Upload: alejandro-araujo

Post on 03-Jul-2015

681 views

Category:

Technology


2 download

DESCRIPTION

Presentación en Congreso CACIC 2008 Chilecito, La Rioja, Argentina "Construcción de una herramienta de prueba unitaria para GeneXus"

TRANSCRIPT

Page 1: Proyecto GxUnit - Congreso Cacic2008 (Almeida, LarreBorges, Araújo)

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

Page 2: Proyecto GxUnit - Congreso Cacic2008 (Almeida, LarreBorges, Araújo)

AgendaAgenda• GeneXus• Problema• GxUnit• Demostración• Hacia el futuro

XIV Congreso Argentino de Ciencias de la Computación CACIC 2008

Page 3: Proyecto GxUnit - Congreso Cacic2008 (Almeida, LarreBorges, Araújo)

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

Page 4: Proyecto GxUnit - Congreso Cacic2008 (Almeida, LarreBorges, Araújo)

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

Page 5: Proyecto GxUnit - Congreso Cacic2008 (Almeida, LarreBorges, Araújo)

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

Page 6: Proyecto GxUnit - Congreso Cacic2008 (Almeida, LarreBorges, Araújo)

• 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

Page 7: Proyecto GxUnit - Congreso Cacic2008 (Almeida, LarreBorges, Araújo)

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

Page 8: Proyecto GxUnit - Congreso Cacic2008 (Almeida, LarreBorges, Araújo)

¿Qué obtuvimos?¿Qué obtuvimos?

XIV Congreso Argentino de Ciencias de la Computación CACIC 2008

Proyecto GxUnitProyecto GxUnit

Page 9: Proyecto GxUnit - Congreso Cacic2008 (Almeida, LarreBorges, Araújo)

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

Page 10: Proyecto GxUnit - Congreso Cacic2008 (Almeida, LarreBorges, Araújo)

Características: Casos de PruebaCaracterísticas: Casos de Prueba

GxUnitGxUnit

Page 11: Proyecto GxUnit - Congreso Cacic2008 (Almeida, LarreBorges, Araújo)

• 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

Page 12: Proyecto GxUnit - Congreso Cacic2008 (Almeida, LarreBorges, Araújo)

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

Page 13: Proyecto GxUnit - Congreso Cacic2008 (Almeida, LarreBorges, Araújo)

• 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

Page 14: Proyecto GxUnit - Congreso Cacic2008 (Almeida, LarreBorges, Araújo)

¿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

Page 15: Proyecto GxUnit - Congreso Cacic2008 (Almeida, LarreBorges, Araújo)

• 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

Page 16: Proyecto GxUnit - Congreso Cacic2008 (Almeida, LarreBorges, Araújo)

¡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