Método de pruebas de sistema basado
en modelos navegacionales en un
contexto MDWE
Arturo Henry Torres Zenteno, NIE: X08100347-T
[email protected]
Supervisado por la Profa. Dra. María José Escalona Cuaresma y
el Prof. Dr. Manuel Mejías Risoto
Memoria de investigación presentada al Departamento de Lenguajes
y Sistemas Informáticos de la Universidad de Sevilla, en cumplimiento
parcial de los requisitos para obtener el Diploma Avanzado de Estudios.
(Proyecto de Tesis)
Índice general
Índice general
Índice de figuras
Índice de tablas
1 Introducción
Importancia de la navegación y los modelos navegacionales
. . .
1.1
1.2
Importancia de las pruebas de software . . . . . . . . . . . . . . .
1.3 Las pruebas de software basadas en modelos . . . . . . . . . . . .
1.3.1 El proceso de desarrollo de software . . . . . . . . . . . .
1.3.1.1 Pruebas de sistema . . . . . . . . . . . . . . . . . . . . .
1.3.2 Desarrollo de pruebas basadas en modelos . . . . . . . . .
1.3.2.1 Métodos de prueba de caja negra . . . . . . . . . . . . .
1.3.2.2 Métodos de prueba de caja blanca . . . . . . . . . . . . .
1.4 Model-Driven Web Engineering (MDWE) . . . . . . . . . . . . .
1.4.1 Transformación de modelos . . . . . . . . . . . . . . . . .
1.4.2 Aplicando MDA para modelar pruebas . . . . . . . . . . .
2 Estudio de la situación actual
2.1 Las pruebas de software: actuales desafíos . . . . . . . . . . . . .
2.1.1 ROADMAP . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2 Desafío 1: Oráculos de pruebas . . . . . . . . . . . . . . .
2.1.3 Desafío 2: Pruebas 100 % automáticas . . . . . . . . . . .
2.1.4 Desafío 3: Pruebas basadas en modelos . . . . . . . . . . .
2.2 Trabajos Relacionados sin enfoque MDA . . . . . . . . . . . . . .
2.2.1 Pruebas basadas en modelos
. . . . . . . . . . . . . . . .
2.2.2 Pruebas basadas en modelos navegacionales . . . . . . . .
2.3 Trabajos Relacionados con enfoque MDA . . . . . . . . . . . . .
2.3.1 Visión general teórica . . . . . . . . . . . . . . . . . . . .
2.3.1.1 Transformaciones
. . . . . . . . . . . . . . . . . . . . . .
2.3.1.2 UML 2.0 Testing Profile (U2TP) . . . . . . . . . . . . . .
2.3.1.3 TTCN-3 y su Meta-modelo . . . . . . . . . . . . . . . . .
2.3.2 Propuestas empresariales
. . . . . . . . . . . . . . . . . .
i
I
III
V
3
5
6
7
7
10
11
11
12
13
15
16
19
20
21
22
24
25
27
27
28
28
29
29
30
32
33
ii
ÍNDICE GENERAL
2.3.2.1 Objecteering Software . . . . . . . . . . . . . . . . . . . .
2.3.2.2 Test Designer v3.3 . . . . . . . . . . . . . . . . . . . . . .
2.3.2.3 Telelogic TAU Generation . . . . . . . . . . . . . . . . .
2.3.3 Propuestas académicas . . . . . . . . . . . . . . . . . . . .
2.3.3.1 Model-Driven Testing with UML 2.0 . . . . . . . . . . .
2.3.3.2 From U2TP Models to executable tests with TTCN-3 . .
2.3.3.3 Pruebas dirigidas por modelos usando U2TP . . . . . . .
2.4 Discusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 Proyecto de investigación
3.1 Hipótesis y objetivos . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1 Objetivo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2 Objetivo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.3 Objetivo 3 . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.4 Objetivo 4 . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.5 Objetivo 5 . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1
Journals . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.2 Congresos . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.3 Workshops
. . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Metodología de trabajo.
3.3 Plan de trabajo
4 Conclusiones
Bibliografía
A Glosario
B Curriculum vitae
B.1 Formación académica . . . . . . . . . . . . . . . . . . . . . . . . .
B.2 Experiencia profesional . . . . . . . . . . . . . . . . . . . . . . . .
B.3 Proyectos de investigación . . . . . . . . . . . . . . . . . . . . . .
B.4 Otras actividades relevantes . . . . . . . . . . . . . . . . . . . . .
C Trabajos publicados
33
33
38
38
39
42
44
47
51
51
52
53
53
53
53
54
56
56
57
58
59
61
69
71
71
71
71
72
73
Índice de figuras
1.1 Modelo V - Fases de prueba en un proceso de desarrollo. . . . . .
1.2 El modelo W. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Estructura MDA para Ingeniería Web [41].
. . . . . . . . . . . .
1.4 Capas M2 y M3 de la Arquitectura 4 capas. . . . . . . . . . . . .
. . . . . . . . . . . . . .
1.5 Modelado de sistemas basados en MDA.
1.6 Modelado de pruebas basados en MDA.
. . . . . . . . . . . . . .
8
10
14
16
16
17
. . . . . . . . . . . . . .
2.1 Roadmap de las pruebas de software [9].
23
2.2 Modelos de Diseño del Sistema vs. Modelos de Diseño de Pruebas. 30
. . . . . . . . . . . .
2.3 Arquitectura en Objecteering Software [79].
36
37
. . . . . . .
2.4 Pantalla de modelado en Objecteering Software [79].
37
2.5 Fases de prueba de Test Designer [90].
. . . . . . . . . . . . . . .
38
2.6 Pantalla de modelado en Test Designer [90]. . . . . . . . . . . . .
2.7 Transformación basada en meta-modelos [20].
. . . . . . . . . . .
40
41
. . . . . . . . . . . .
2.8 Transformación de componentes de prueba.
2.9 Transformación de U2TP a TTCN-3 [94].
. . . . . . . . . . . . .
42
2.10 Transformación PIT/PST en U2TP para pruebas en TTCN-3 [94]. 44
46
2.11 Extensión al meta-modelo de UML para las pruebas [63].
2.12 Información para el oráculo según el nivel de prueba [63].
46
. . . .
. . . .
. . . . . . . . . . . . . . . . . . . . .
3.1 Propuesta de investigación.
3.2 Métodos de investigación: (A) de ingeniería; (B) empírico.
. . . .
3.3 Metodología de investigación aplicada en la propuesta. . . . . . .
3.4 Planificación del proyecto de investigación. . . . . . . . . . . . . .
52
54
55
56
iii
iv
ÍNDICE DE FIGURAS
Índice de tablas
1.1 Fases de prueba en el proceso de desarrollo de software.
. . . . .
9
2.1 Conceptos U2TP. . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Relación entre U2TP y los elementos del meta-modelo TTCN-3.
2.3 Tabla comparativa de herramientas orientadas a modelos.
. . . .
. . . . . . . . . . . . . . . . . . . . . .
2.4 Cuadro de oportunidades.
32
34
35
48
v
vi
ÍNDICE DE TABLAS
Agradecimientos
A Dios, que siempre ha colocado a las personas idóneas en mi camino.
A mi amada familia, Cecilia y Sebastián, por todo el apoyo, motivación y
comprensión que siempre recibo de parte de ellos.
A mis queridos padres, Ricardo y Juana, por todo su empeño y esfuerzo
infatigable para darme la educación que siempre anhelaron.
Deseo dar un agradecimiento especial a María José Escalona, quien me
abrió la senda para continuar mis estudios de posgrado en la Universidad de
Sevilla. Y ella junto a Manuel Mejías han sido un apoyo constante y valioso en
la redacción de esta memoria de investigación.
También agradezco a la familia everis por abrirme las puertas y permitir am-
pliar mi experiencia en el mundo laboral. Y especialmente, a Gustavo Aragón,
Javier Marín y Rafael Ordoñez, quienes además de darme capacitación profe-
sional, siempre me han dado la compresión y facilidad necesarias para poder
congeniar el trabajo con los estudios de doctorado.
vii
viii
ÍNDICE DE TABLAS
Resumen
Las aplicaciones Web emplean una serie de nuevos lenguajes, tecnologías, y
modelos de programación, que se utilizan para implementar aplicaciones alta-
mente interactivas que presentan un alto nivel de calidad exigido.
Analizar, modelar y probar estas aplicaciones presenta nuevos desafíos para
desarrolladores e investigadores de software.
Con el fin de incrementar la seguridad y la fiabilidad de una aplicación Web,
las pruebas son uno de los métodos más eficaces. Sin embargo, investigadores y
profesionales todavía están tratando de encontrar formas efectivas para modelar
y probar aplicaciones Web.
Basado en el estudio de la situación actual, este proyecto de investigación
propone una técnica de pruebas de nivel de sistema a partir de modelos nave-
gacionales. El aspecto más novedoso es la propuesta de generar casos de prueba
de sistema a partir de modelos navegacionales mediante el paradigma MDWE
(Model-Driven Web Engineering). De esta manera, las pruebas serán generadas
antes de la implementación del software, y los problemas podrán ser elimina-
dos tempranamente, ahorrando tiempo, recursos, y sobretodo aumentando la
fiabilidad del software.
Además, se propone la construcción de una herramienta que sirva para la
automatización de todo el proceso.
1
2
ÍNDICE DE TABLAS
Capítulo 1
Introducción
La creciente complejidad de las aplicaciones Web ha causado que el campo
de la Ingeniería Web, definida como la aplicación sistemática, disciplinada y
cuantificable de aproximaciones para el desarrollo y evolución eficiente de apli-
caciones de alta calidad en la World Wide Web [33] se haya desarrollado de
manera muy acelerada.
Desafortunadamente, dicha complejidad no parece estar acompañada de los
mecanismos adecuados que garanticen la calidad de unos sistemas de los que
cada día existe mayor dependencia a nivel social, funcional y económico.
Esta carencia de calidad ha venido generando una preocupación creciente
entre la comunidad científica y empresarial involucrada en el desarrollo Web.
Así pues, en los últimos años surgen varias iniciativas con el objetivo de definir
marcos de referencia adecuados a estas nuevas tendencias de creación de soft-
ware. La Ingeniería Web surge, debido a este crecimiento desenfrenado que
está teniendo la Web, con el objetivo de otorgar los medios necesarios para
mejorar el desarrollo de este tipo de aplicaciones.
Es en el ámbito de la Ingeniería Web donde se ha evaluado la necesidad de
estudiar de manera concreta una característica del software, que, en
Comentarios de: Método de pruebas de sistema basado en modelos navegacionales en un contexto MDWE (0)
No hay comentarios