Publication:
Algoritmo genético multiobjetivo para selección de casos de tests

Loading...
Thumbnail Image
Official URL
Full text at PDC
Publication Date
2021-07-08
Advisors (or tutors)
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
Citations
Google Scholar
Research Projects
Organizational Units
Journal Issue
Abstract
El testing de software es una de las principales técnicas utilizadas para validar la corrección de un sistema, y consiste en definir una serie de pruebas o tests para determinar si el sistema bajo prueba cumple la especificación. Sin embargo, no es posible definir to das las pruebas posibles para realizar esta comprobación, por lo que surge la necesidad de hacer una selección de casos de test. En este trabajo proponemos un marco de selección de casos de test, con el apoyo de la técnica de mutation testing. Para realizar la selección del subconjunto de casos de test se ha diseñado un algoritmo genético multiobjetivo que trata de optimizar la solución en base a dos factores: maximizar el mutation score, que en nuestro caso permite distinguir entre mutantes además de la especificación, y minimizar el número total de entradas necesarias para el subconjunto de tests. Combinando estas técnicas hemos conseguido obtener un conjunto de soluciones que mejoran a las obtenidas por medio de los algoritmos genéticos y el mutation score tradicionales, y además hemos logrado determinar que la aplicación de la heurística de cruce en un punto en el algoritmo genético reporta soluciones sensiblemente mejores.
Software testing is one of the main techniques used to validate the correctness of a system, and consists of defining a series of tests to determine whether the system under test meets the specification. However, it is not viable to define all the possible tests to perform this verification, so the need to make a selection of test cases arises. In this thesis we propose a test case selection framework, applying the mutation testing technique. To perform the test case subset selection we rely on a multi-objective genetic algorithm that seeks to optimize the solution based on two factors: maximizing the mutation score, which in our case allows to distinguish between mutants as well as the specification, and minimizing the total number of inputs required for the subset of tests. By combining these techniques we have managed to obtain a set of solutions that improve those obtained by means of the traditional techniques on genetic algorithms and the mutation score, and we have also managed to determine that the application of the one-point crossover heuristic in the genetic algorithm yields significantly better solutions.
Description
Trabajo de Fin de Máster en Ingeniería Informática, Facultad de Informática UCM, Departamento de Sistemas Informáticos y Computación, Curso 2020/2021. El código fuente se puede consultar en el siguiente repositorio en GitHub: https: //github.com/ctesti/TFM
Unesco subjects
Keywords
Citation