Post on 03-Feb-2015
Juan Pablo GoyeníMarcos OliveraNicolás Carro
Proyecto de gradoFacultad de Ingeniería UdelaR
Historia de GXUnit
…….
Pruebas unitariasHerramientas
xUnitGXUnit
Pruebas unitarias
Motivación
Fuente: Applied Software Measurement, Capers Jones, 1996
Pruebas unitariasHerramientas
xUnit
Herramientas xUnit
Características• Automatización• Embebido en el lenguaje• Ejecución• Velocidad• Visualización
Herramientas xUnit
Estructura de los Casos de Prueba• Setup• Llamada a la unidad• Asserts• Teardown
Herramientas xUnit
Herramientas estudiadas• JUnit• PBUnit• GXUnit PIS• NUnit• Otras…
Herramientas xUnit
Puntos fuertes tomados• Casos de prueba programables• Generación automática de código• Ejecución desde entorno de desarrollo• Suites de prueba• Adaptable a la versión
Pruebas unitariasHerramientas
xUnitGXUnit
Arquitectura
Se busca que sea …• Independiente• Mantenible• Bajo Acoplamiento• Compatible• Extensible
Arquitectura
GeneXusAPI GeneXus SDK
GXUnit
GXUnitCoreGXUnitUI
Arquitectura
GeneXusAPI• Recibe solicitudes de GXUnitCore• Crea:– Procedimientos– Data Providers– Structured Data Types– Carpetas– Transacciones
Arquitectura
GXUnitCore• Núcleo de GXUnit• Recibe solicitudes de GXUnitUI • Define:– AssertStringEquals– AssertNumericEquals– RunnerProcedure
Arquitectura
GXUnitUI• Crear TestCase• Crear Suite• Ejecutar TestCase• Ejecutar Suite• Visualizar Resultados
GXUnit
Unidad en GeneXus
• ¿Unidad en GeneXus?
• ¿Objetos GeneXus?
• ¿Cuáles Objetos?
GXUnit
Objetos GeneXus
8 8
52
31
1
TransactionsTableProceduresWeb PanelsData Provider
GXUnit
GXUnit
Test Case
GXUnit
Test Suite
GXUnit
Result
Demo
Resultados
• Cumplimiento de los objetivos clave• Casos de estudio - PIS 2011• Consolidación de GXUnit en la comunidad
– a– Blog / Site / Consultas
• Trabajo a futuro– Generación de datos de prueba– Integración con GXtest– Ejecución batch de pruebas– Smart devices– Generación de reportes
Agradecimientos• Encargados del Proyecto de Grado
– Mónica Wodzislawski (Tutor del proyecto)– Matías Reina (Usuario responsable del proyecto)– Federico Toledo (Usuario responsable alterno)
• GeneXus Extensions– Luciano Silveira– Federico Azzato
• GeneXus Marketplace– Martín Olivieri
• Gustavo Carriquiry• Ursula Bartram• Alejandro Araujo• Enrique Almeida
• Integrantes de los 2 grupos GXunit del Proyecto de Ingeniería de Software 2007
• Integrantes de los 2 grupos GeneXus del Proyecto de Ingeniería de Software 2011