integrando trazabilidad a la generación de casos de prueba

24
Powerpoint Templates 1/24 CIBSE 2013 Integrando Trazabilidad a la Generación de Casos de Prueba del Sistema: una propuesta MDD/MBT Natalia Correa, Roxana Giandini LIFIA, Facultad de Informática, Universidad Nacional de La Plata. UAI, Universidad Abierta Interamericana. Buenos Aires, Argentina XVI Congreso Iberoamericano en Ingeniería de Software CIBSe 2013 Universidad ORT, Montevideo, Uruguay

Upload: others

Post on 12-Jul-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Integrando Trazabilidad a la Generación de Casos de Prueba

Powerpoint Templates 1/24 CIBSE 2013

Integrando Trazabilidad a la Generación de Casos de

Prueba del Sistema: una propuesta MDD/MBT

Natalia Correa, Roxana Giandini

LIFIA, Facultad de Informática,

Universidad Nacional de La Plata. UAI, Universidad

Abierta Interamericana. Buenos Aires, Argentina

XVI Congreso Iberoamericano en Ingeniería de Software CIBSe 2013

Universidad ORT, Montevideo, Uruguay

Page 2: Integrando Trazabilidad a la Generación de Casos de Prueba

Powerpoint Templates 2/24 CIBSE 2013

• Se trata de un paradigma basado en un proceso

guiado por modelos, soportado por

herramientas adecuadas que permiten generar

una aplicación a partir de estos.

• MDD aporta beneficios sobre el desarrollo

tradicional de software (productividad,

portabilidad, interoperabilidad, mantenimiento

y documentación)

Motivación-

MDD (Model Driven Development)

Page 3: Integrando Trazabilidad a la Generación de Casos de Prueba

Powerpoint Templates 3/24 CIBSE 2013

Modelos : de contemplativos a productivos

Motivación-

MDD (Model Driven Development)

Page 4: Integrando Trazabilidad a la Generación de Casos de Prueba

Powerpoint Templates 4/24 CIBSE 2013

• Los modelos se van generando desde los más

abstractos a los más concretos a través de

pasos de transformación y/o refinamientos,

hasta llegar al código.

• El proceso de transformación entre modelos

constituye el motor del MDD. Las

transformaciones pueden ser especificadas o

implementadas usando diferentes

herramientas y diferentes lenguajes.

Motivación-

MDD (Model Driven Development)

Page 5: Integrando Trazabilidad a la Generación de Casos de Prueba

Powerpoint Templates 5/24 CIBSE 2013

Transformación

• Se trata de la definición de un conjunto de

reglas, las cuales son especificaciones no

ambiguas de las formas en que un modelo (o

parte de él) puede ser usado para crear otro

modelo (o parte de él).

Motivación-

MDD (Model Driven Development)

Page 6: Integrando Trazabilidad a la Generación de Casos de Prueba

Powerpoint Templates 6/24 CIBSE 2013

• Un área que se cubre en el contexto MDD es

MBT

• Esta propuesta se basa en la generación de

modelos de testing, partiendo de modelos de un

sistema software

Motivación-

MBT (Model Based Testing)

Page 7: Integrando Trazabilidad a la Generación de Casos de Prueba

Powerpoint Templates 7/24 CIBSE 2013

A partir del modelo que representa al sistema

se generan los tests que verifican su

comportamiento. Cuando el comportamiento

del sistema cambie, también lo harán los tests

Motivación-

MBT (Model Based Testing)

Se corren contra

ModeloSistema

Tests AbstractosTests

Ejecutables

Es una descripción parcial de

Son versiones abstractas de

Son derivados de

Page 8: Integrando Trazabilidad a la Generación de Casos de Prueba

Powerpoint Templates 8/24 CIBSE 2013

Def: Capacidad de establecer relaciones entre

dos o más artefactos de un sistema dentro de

un proceso de desarrollo, especialmente

aquellos artefactos con vínculos ‘predecesor-

sucesor’ o ‘maestro-subordinado’ [IEEE]

• Contar con el uso de técnicas de trazabilidad en

los proyectos software indica mayor madurez

del proceso de desarrollo

Motivación-Trazabilidad

Page 9: Integrando Trazabilidad a la Generación de Casos de Prueba

Powerpoint Templates 9/24 CIBSE 2013

Generar trazas entre casos de uso y casos de

prueba del sistema dentro de los contextos

MDD y MBT.

Éstas se generan automáticamente como parte

de la generación de modelos de testing, con el

fin de brindar un aporte a las técnicas de

trazabilidad y al testing de sistemas.

Objetivo

Page 10: Integrando Trazabilidad a la Generación de Casos de Prueba

Powerpoint Templates 10/24 CIBSE 2013

Proceso General y Adición de

Trazas

Caso de Uso Modelos de Testing intermedios

DAT, DATS

Caso de Prueba

X

«traza»

«traza»

«traza» Pruebas de

Integración Pruebas

Unitarias

Requerimiento

Page 11: Integrando Trazabilidad a la Generación de Casos de Prueba

Powerpoint Templates 11/24 CIBSE 2013

Metamodelo para especificar

trazas de testing

Page 12: Integrando Trazabilidad a la Generación de Casos de Prueba

Powerpoint Templates 12/24 CIBSE 2013

Generación Automática de Trazas

Las trazas se generan junto a los elementos del modelo de

destino en la definición de las transformaciones

Transformation uc2Activity (UML uml, TraceModel traceM)

Input uml:uc; Output uml:activity, traceM:trace

{activity UML::Activity.new

activity.name “ad” + uc.name

initialNode:= UML::InitialNode.new

activity.node.add (initialNode)

for each uc.useCase in uc{

activity UML.Activity.new

activity.name uc.name

activity.node.add (activity)

invokeRule createTraces (uc.useCase,

activity,IntegrityTestCase.new ()); }

Transformation Rule createTraces (trace_source,trace_target,

trace_type) {

traceLink CompositeLink.new

traceLink.source trace_source

traceLink.target trace_target

traceLink.type trace_type

… }

Page 13: Integrando Trazabilidad a la Generación de Casos de Prueba

Powerpoint Templates 13/24 CIBSE 2013

Proceso General-

Integración de propuestas

1-Modelo de Casos de Uso

2-Diag. de Actividades de Testing

del Sistema (DATS)

3-Casos de Prueba

del Sistema

1.1-Por cada CU: Documentación de

CU 1.2-Diag.

de Actividades de Testing

(DAT)

1.3-Caso de

Prueba

1-Modelo de Casos de Uso

2-Diag. de Actividades de Testing

del Sistema (DATS)

3-Casos de Prueba

del Sistema

1.1-Por cada CU: Documentación de

CU 1.2-Diag.

de Actividades de Testing

(DAT)

1.3-Caso de

Prueba

1-Modelo de Casos de Uso

2-Diag. de Actividades de Testing

del Sistema (DATS)

3-Casos de Prueba

del Sistema

1.1-Por cada CU: Documentación de

CU 1.2-Diag.

de Actividades de Testing

(DAT)

1.3-Caso de

Prueba

1-Modelo de Casos de Uso

2-Diag. de Actividades de Testing

del Sistema (DATS)

3-Casos de Prueba

del Sistema

1.1-Por cada CU: Documentación de

CU 1.2-Diag.

de Actividades de Testing

(DAT)

1.3-Caso de

Prueba

Page 14: Integrando Trazabilidad a la Generación de Casos de Prueba

Powerpoint Templates 14/24 CIBSE 2013

Un ejemplo

1- Definición de los Casos de Uso

Nombre: Comprar un libro

Actor: usuario (USU)

Descripción: El usuario solicita efectivizar la compra de los libros agregados a su carrito de compras.

Precondición: El carrito tiene 1 ó más ítems. El usuario está registrado en el sistema.

Curso Normal

1- El USU solicita efectivizar la compra de los

libros de su carrito

2- El sistema recupera el carrito de compras

de la sesión de USU

3- El sistema crea una orden de compra

Curso Alternativo- Usuario no logueado

3.1-El usuario no está logueado o se venció

su sesión de usuario -> ejecutar CU_Login

1.1- Documentación de los Casos de Uso

Page 15: Integrando Trazabilidad a la Generación de Casos de Prueba

Powerpoint Templates 15/24 CIBSE 2013

Un ejemplo –cont.-

2- Aplicando una transformación se obtiene un

Diagrama de Actividades de Testing del Sistema

(DATS) y las trazas entre los elementos origen y

destino

INT= Integration link type

ANY= Any link type

Page 16: Integrando Trazabilidad a la Generación de Casos de Prueba

Powerpoint Templates 16/24 CIBSE 2013

Un ejemplo –cont.-

3- Aplicando una nueva transformación se obtiene

un archivo XML con todos los caminos de ejecución

que un usuario puede realizar en el sistema

(prueba de integración) y las trazas entre los

elementos origen y destino.

A su vez,

1.1-Por cada CU, a partir de su documentación,

se aplica una transformación para obtener un DAT

(Diagrama de Actividades de Testing);

y 1.2-Por cada DAT, se ejecuta una nueva

transformación modelo a texto: desde el DAT al

Caso de Prueba.

Page 17: Integrando Trazabilidad a la Generación de Casos de Prueba

Powerpoint Templates 17/24 CIBSE 2013

Un ejemplo-

Integración de las propuestas

Page 18: Integrando Trazabilidad a la Generación de Casos de Prueba

Powerpoint Templates 18/24 CIBSE 2013

Comparación con otros trabajos

Dentro del contexto MBT, el framework MATERA

integra el modelado del sistema con la definición de

trazas.

Los requerimientos, modelados en SySML, pueden ser

relacionados con otros artefactos que modelan el

sistema. Cuando los requerimientos se usan para la

generación de tests –abstractos, no ejecutables– se

asocian como un tag al caso de prueba generado.

Para tracear los requerimientos a partir de los casos

de prueba, se utiliza un script Phyton que analiza el

test y genera un query en OCL que identifica al

requerimiento involucrado en el test

correspondiente.

Page 19: Integrando Trazabilidad a la Generación de Casos de Prueba

Powerpoint Templates 19/24 CIBSE 2013

Comparación con otros trabajos

Dentro del contexto MBT, el framework MATERA

integra el modelado del sistema con la definición de

trazas.

Los requerimientos, modelados en SySML, pueden ser

relacionados con otros artefactos que modelan el

sistema. Cuando los requerimientos se usan para la

generación de tests –abstractos, no ejecutables– se

asocian como un tag al caso de prueba generado.

Para tracear los requerimientos a partir de los casos

de prueba, se utiliza un script Phyton que analiza el

test y genera un query en OCL que identifica al

requerimiento involucrado en el test

correspondiente.

Page 20: Integrando Trazabilidad a la Generación de Casos de Prueba

Powerpoint Templates 20/24 CIBSE 2013

Comparación con otros trabajos

(cont.)

Pasupulati define su técnica de trazabilidad y propone un modelo (semi-formal, con dos tipos de elementos) para los requerimientos y la definición de trazas como anotaciones que identifican (con ids) los elementos que esta relaciona, siendo el objetivo del autor simplificar el proceso de gestión de trazas. George et al. proponen el uso de tecnologías XML para la definición de trazabilidad en MBT. En este caso, la traza es una relación elemento a elemento definida con una estructura XML formal: RDML (Relation Definition Markup Language). Para cada tipo de modelo utilizado, una definición RDML -basado en un esquema XML- especifica la relación con otro modelo y su tipo, siendo el tipo “derivado” o bien, “referenciado”.

Page 21: Integrando Trazabilidad a la Generación de Casos de Prueba

Powerpoint Templates 21/24 CIBSE 2013

Comparación con otros trabajos

(cont.) Nuestra propuesta:

Utiliza Casos de Uso

Cuenta con un metamodelo específico

Define un modelo de trazas separado de los

modelos origen y destino

Además, la incorporación de trazas a nuestro proceso

adiciona las ventajas propias del mecanismo de

trazabilidad:

implícitamente se cuenta con una métrica de

análisis de impacto

permite conocer la cobertura de requerimientos

que cuentan con sus casos de prueba definidos

favorece la sincronización y la consistencia entre

los modelos generados y sus artefactos.

Page 22: Integrando Trazabilidad a la Generación de Casos de Prueba

Powerpoint Templates 22/24 CIBSE 2013

Conclusiones

Hemos presentado una propuesta para representar

trazabilidad en el contexto MDD/MBT.

• Se definió una extensión con conceptos de testing a

un metamodelo para trazabilidad existente. En el

mismo, se definen los tipos de links necesarios para

modelar las trazas permitiendo además definir otros

tipos según la necesidad del usuario. Estos tipos de

trazas son específicos al contexto de testing en MBT.

• Se extendieron las transformaciones de modelos

que permiten generar modelos de tests (definidas en

trabajos anteriores) con la generación de las trazas

Page 23: Integrando Trazabilidad a la Generación de Casos de Prueba

Powerpoint Templates 23/24 CIBSE 2013

Trabajo futuro

Definir una herramienta de soporte que permita automatizar completamente el proceso.

De esta manera, se podrá aplicar al Diagrama de Casos de Uso las transformaciones que generen los diagramas de actividades intermedios con conceptos de testing (DAT, DATS) y sus consecuentes –segundas- transformaciones a casos de prueba y casos de pruebas del sistema, con la adición de las trazas entre los requerimientos, los modelos de test intermedios y los casos de prueba generados.

El editor gráfico será creado como plugin para Eclipse con EMF y GEF. JavaCC [28] y el lenguaje ATL se utilizarán como herramientas auxiliares.

Page 24: Integrando Trazabilidad a la Generación de Casos de Prueba

Powerpoint Templates 24/24 CIBSE 2013

¡Gracias!

¿Preguntas?