Aplicación de la prueba de mutaciones a composiciones de servicios web en WS-BPEL para la generación de casos de prueba de calidad
La prueba de mutaciones ha sido objeto de múltiples trabajos de investigación durante los últimos 30 años; sin embargo, aún hoy día sigue presentando algunos problemas que no están resueltos, como la determinación de los programas semánticamente equivalentes, el coste computacional implicado en la generación y ejecución del gran número de mutantes producidos frente a los casos de prueba, la generación de casos de prueba, etc. Durante estas tres décadas se han propuesto técnicas para intentar vencer estos problemas. Esta tesis aborda el problema de la generación automática de los casos de prueba, empleando para ello una técnica evolutiva. Los algoritmos genéticos han sido ampliamente utilizados en la generación de casos de prueba empleándose principalmente un criterio estructural, pero también han sido aplicados a los sistemas de mutaciones. A estos últimos también se han aplicado variantes de los algoritmos genéticos conocidas como algoritmos bacteriológicos y algoritmos inmunológicos. El enfoque que se propone en esta tesis está basado en un algoritmo genético que adopta algunas de las características de los algoritmos bacteriológicos. Como objeto de esta investigación se han escogido las composiciones de servicios web en el lenguaje WS-BPEL~2.0. Las arquitecturas orientadas a servicios, los servicios web y el lenguaje WS-BPEL permiten automatizar los procesos de negocio; además, el impacto económico de las composiciones de servicios web en WS-BPEL ha crecido de forma considerable en los últimos años, por lo que se considera imprescindible profundizar en la prueba de este tipo de aplicaciones. Todas las razones anteriores nos han llevado a aplicar la prueba de mutaciones, una técnica que ha sido previamente aplicada a multitud de lenguajes, al lenguaje WS-BPEL y a definir una técnica de generación de casos de prueba que tengan como objetivo matar a los mutantes producidos para una composición WS-BPEL. Dado que la prueba de mutaciones no había sido aplicada anteriormente a este lenguaje, esta tesis afronta el proceso completo de aplicación de esta técnica a un lenguaje: definición de los operadores de mutación, desarrollo de una herramienta de generación y ejecución automática de los mutantes, evaluación y mejora de los operadores definidos y, por último, definición de la técnica de generación de casos de prueba y desarrollo de un generador de casos de prueba que nos permita aplicarla a las composiciones WS-BPEL. Para la evaluación de los operadores de mutación se han propuesto unas métricas de calidad que nos pueden permitir, además, definir una técnica de reducción del coste computacional de la prueba de mutaciones de composiciones WS-BPEL mediante la disminución del número de operadores aplicados, descartando aquellos que obtengan valores bajos para las métricas de calidad propuestas. El trabajo de investigación desarrollado ha permitido alcanzar todos los objetivos propuestos.
Prueba de software, Prueba de mutaciones, WS-BPEL, Algoritmos genéticos, Generación casos de prueba
Networked Digital Library of Theses and Dissertations