Construcción de una herramienta para pruebas unitarias en GeneXus ©   Enrique Almeida    [email_address] Alejandro Araújo   [email_address] Uruguay Larre Borges  [email_address] Proyecto GxUnit XIV Congreso Argentino de Ciencias de la Computación CACIC 2008
Agenda GeneXus Problema GxUnit Demostración Hacia el futuro XIV Congreso Argentino de Ciencias de la Computación CACIC 2008
Visiones de los Usuarios  Lenguaje Declarativo      Lenguaje Procedural     Incremental   Base de Datos Normalizada XIV Congreso Argentino de Ciencias de la Computación CACIC 2008 Aplicación KB Instancia de  Objeto GeneXus Objetos tipo:  Con UI:  Transactions :  Capturan las visiones de los usuarios  WorkPanels, WebPanels …     Sin UI:  Procedures, Business Components , …
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 Problema 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 GxUnit Objetivos
Evolución   XIV Congreso Argentino de Ciencias de la Computación CACIC 2008 Proyecto GxUnit Características Dos equipos: 14 estudiantes c/u Dos soluciones independientes Rol cumplido: CLIENTES “ Proyecto de Ingeniería  de Software”. UDELAR
¿Qué obtuvimos?   XIV Congreso Argentino de Ciencias de la Computación CACIC 2008 Proyecto GxUnit
Caracterí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 GxUnit
Características: Casos de Prueba GxUnit
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 GxUnit Características: Casos de Prueba
GxUnit en Acción 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 XIV Congreso Argentino de Ciencias de la Computación CACIC 2008
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? Hacia el futuro
¿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 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 GxUnit
¡Muchas gracias!   ¿Preguntas? Créditos (Grupos 1 y 2): Adrián García Antonio Malaquina Anthony Figueroa Diego Gawenda Darí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 Marchand Guillermo Pérez Lucía Adinolfi Marcelo Falcón Marcelo Celio Marcelo Vignolo Martín Sellanes Nicolás Álvarez de Ron Rafel Sisto Rodrigo Aguerre Rodrigo Ordeix  Rosana Robaina Soledad Pérez Stephanie de León Enrique Almeida  ealmeida@concepto.com.uy Alejandro Araújo  alar758@gmail.com Uruguay Larre Borges  ularre@genexusconsulting.com Proyecto GxUnit

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

  • 1.
    Construcción de unaherramienta para pruebas unitarias en GeneXus © Enrique Almeida [email_address] Alejandro Araújo [email_address] Uruguay Larre Borges [email_address] Proyecto GxUnit XIV Congreso Argentino de Ciencias de la Computación CACIC 2008
  • 2.
    Agenda GeneXus ProblemaGxUnit Demostración Hacia el futuro XIV Congreso Argentino de Ciencias de la Computación CACIC 2008
  • 3.
    Visiones de losUsuarios Lenguaje Declarativo Lenguaje Procedural Incremental Base de Datos Normalizada XIV Congreso Argentino de Ciencias de la Computación CACIC 2008 Aplicación KB Instancia de Objeto GeneXus Objetos tipo: Con UI: Transactions : Capturan las visiones de los usuarios WorkPanels, WebPanels … Sin UI: Procedures, Business Components , …
  • 4.
    Más… Determina elimpacto 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
  • 5.
    ¿Cómo se efectúanlas pruebas unitarias en GeneXus? Desarrollo XIV Congreso Argentino de Ciencias de la Computación CACIC 2008 Problema Pruebas Unitarias
  • 6.
    Crear herramienta paraprueba 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 GxUnit Objetivos
  • 7.
    Evolución XIV Congreso Argentino de Ciencias de la Computación CACIC 2008 Proyecto GxUnit Características Dos equipos: 14 estudiantes c/u Dos soluciones independientes Rol cumplido: CLIENTES “ Proyecto de Ingeniería de Software”. UDELAR
  • 8.
    ¿Qué obtuvimos? XIV Congreso Argentino de Ciencias de la Computación CACIC 2008 Proyecto GxUnit
  • 9.
    Características Se expresanlos 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 GxUnit
  • 10.
  • 11.
    Absorbe el impactodel 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 GxUnit Características: Casos de Prueba
  • 12.
    GxUnit en AcciónDemostració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 XIV Congreso Argentino de Ciencias de la Computación CACIC 2008
  • 13.
    Integrar a nuevoscolaboradores 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? Hacia el futuro
  • 14.
    ¿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 futuro
  • 15.
    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 GxUnit
  • 16.
    ¡Muchas gracias! ¿Preguntas? Créditos (Grupos 1 y 2): Adrián García Antonio Malaquina Anthony Figueroa Diego Gawenda Darí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 Marchand Guillermo Pérez Lucía Adinolfi Marcelo Falcón Marcelo Celio Marcelo Vignolo Martín Sellanes Nicolás Álvarez de Ron Rafel Sisto Rodrigo Aguerre Rodrigo Ordeix Rosana Robaina Soledad Pérez Stephanie de León Enrique Almeida ealmeida@concepto.com.uy Alejandro Araújo alar758@gmail.com Uruguay Larre Borges ularre@genexusconsulting.com Proyecto GxUnit