Este documento propone un marco dirigido por modelos para probar Sistemas de Información con Bases de Datos. El marco genera casos de prueba automáticamente a partir de modelos UML de datos y pruebas. Usa perfiles UML como entrada y transformaciones QVT y MOFM2T para generar casos de prueba y código de prueba. El enfoque se centra en cubrir las estructuras de datos subyacentes para probar operaciones como crear, leer, actualizar y borrar.
1. Universidad de Castilla-La Mancha
Abstracta (Uruguay)
Enfoque dirigido por modelos para
probar Sistemas de Información con
Bases de Datos
Federico Toledo
Beatriz Pérez
Macario Polo
8. Criterio de Cobertura
• Basado en distintos criterios de
cobertura
CRUD, para una entidad sería según la
expresión regular (máquina de estados):
• C . R . [ Ui . Ri ] * D . R
Patrones de diagramas de clase
(Andrews et al.)
• AEM (association-end multiplicity)
• GN (generalization)
• CA (class attribute)
8
9. Criterio de Cobertura
• Identificamos distintos tipos de relaciones
• Queremos probar las operaciones
Crear
Leer
Actualizar
Borrar
• Los resultados esperados son conocidos
9
10. Resultados Esperados
De acuerdo a los datos en los distintos campos
Table1 Expected result
One column invalid Fail
All columns valid Pass
… …
10
11. Resultados Esperados
• De acuerdo a las estructuras
Máquina de estados
T2_update
T2_create
T2_delete
T1_delete T1_create T1_create
T1_delete
T2_create
T2_create
T2_delete
11
12. Criterios de Cobertura
Cada criterio de cobertura Subestructura
representado por conjunto interesante
de reglas QVT
Casos de prueba
a generar
Criterio 1
Criterio 2
Criterio 3
Modelo de Datos Modelo de Pruebas
Motor QVT
14. Conclusiones
• Model-driven approach
• Basado en estándares
UML
• UML Data Modeling Profile
• UML Testing Profile
QVT
MOFM2T
• Especial atención en cubrir las
estructuras de datos
14
15. Trabajo Futuro
• Terminar la implementación del
framework
Transformaciones QVT y MOFM2T
• Validación empírica
Sistemas “desarrollados a mano”
• Java, PHP, etc., con bases de datos
Sistemas desarrollados con MDD
• Ejemplo: GeneXus
– Herramienta MDD que genera código a partir de
estructuras de datos
– Genera aplciaciones en distintas plataformas
(client/server, web, mobile, RPG, etc.)
15
16. Agradecimientos:
Enfoque dirigido por modelos para probar Sistemas de
Información con Bases de Datos
¡Gracias por su atención!
¿Preguntas?
Federico Toledo (ftoledo@abstracta.com.uy)
Beatriz Pérez (bperez@fing.edu.uy)
Macario Polo (macario.polo@uclm.es)