View
232
Download
0
Embed Size (px)
Citation preview
Universidad de Castilla-La Mancha
Federico Toledo
Beatriz Pérez
Macario Polo
Enfoque dirigido por modelos para
probar Sistemas de Información con
Bases de Datos
Abstracta (Uruguay)
2
1. Introducción a la Propuesta
2. Diseño de Casos de Prueba
3. Conclusiones y Trabajo Futuro
Contenido
Introducción a la Propuesta
4
Test cases
Test data
Sistemas de Información
Entidades y relaciones
CRUD: create, read, update, delete
5
Framework
(2) Pattern-matching
Test Suites
Test Cases
Datapools
Entities
Relations
Attributes
Rules
DB
(1) Reverse
Engineering
xUnit
Test Cases
UML Data
Modeling Profile UML Testing Profile
QVT
MOFM2T (3) Test code
generation
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
• Identificamos distintos tipos de relaciones
• Queremos probar las operaciones
Crear
Leer
Actualizar
Borrar
• Los resultados esperados son conocidos
9
Criterio de Cobertura
Resultados Esperados
Table1 Expected result
One column invalid Fail
All columns valid Pass
… …
10
De acuerdo a los datos en los distintos campos
Resultados Esperados
• De acuerdo a las estructuras
Máquina de estados
T2_create
T1_create T1_create
T2_create
T2_create
T2_delete
T2_delete
T1_delete T1_delete
T2_update
11
Subestructura interesante
Casos de prueba a generar
Modelo de Pruebas Modelo de Datos
Motor QVT
Criterio 1 Criterio 2
Criterio 3
Cada criterio de cobertura
representado por conjunto
de reglas QVT
Criterios de Cobertura
14
• 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
Conclusiones
15
• 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.)
Trabajo Futuro
Agradecimientos:
Enfoque dirigido por modelos para probar Sistemas de
Información con Bases de Datos
Federico Toledo
Beatriz Pérez
Macario Polo
¡Gracias por su atención!
¿Preguntas?