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

Post on 03-Jul-2015

681 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

Construcción de una Construcción de una herramienta para pruebas herramienta para pruebas

unitarias en GeneXusunitarias en GeneXus©

Enrique Almeida ealmeida@concepto.com.uyAlejandro Araújo alar758@gmail.comUruguay Larre Borges ularre@genexusconsulting.com

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 ealmeida@concepto.com.uyAlejandro Araújo alar758@gmail.comUruguay Larre Borges ularre@genexusconsulting.com

Proyecto GxUnitProyecto GxUnit

top related