Gerando dados para o teste de mutação de linha de produto de software com algoritmos de otimização multiobjetivo
Abstract
Resumo: O teste de mutação tem sido recentemente aplicado no teste de Linha de Produto de Software. A ideia consiste em selecionar produtos para o teste de acordo com operadores de mutacao que representam possíveis defeitos em um diagrama de características (feature model - FM). Esses operadores associados ao escore de mutacao são então usados para avaliacão e geracão de conjuntos de casos de teste. A geracao de conjuntos de casos de teste que matem todos os mutantes e que, alem disso, satisfaçam outros requisitos para o teste de software, tais como o menor número possível de produtos, e uma tarefa complexa. A fim de resolver esse problema, este trabalho propoe uma abordagem de otimizacao multiobjetivo que inclui uma representacão para o problema, operadores de busca e uma funcao de avaliacao que inclui três objetivos relacionados ao numero de casos de teste, numero de mutantes mortos e numero de pares de características cobertos. A abordagem foi implementada com três algoritmos evolutivos multiobjetivos: NSGA- II, SPEA2 e IBEA. Foram realizados dois experimentos: um experimento (2M) com dois objetivos considerando tamanho do conjunto e numero de mutantes mortos; e um experimento (3MP) com três objetivos considerando tamanho do conjunto, numero de mutantes mortos e cobertura de pares de características (pairwise testing). A avaliacao realizada analisou as soluçoes obtidas e comparou os algoritmos. De maneira geral todos obtiveram um bom desempenho com destaque para o tempo de execuçcãao do IBEA, o nímero de soluçoes do NSGA-II no experimento 2M e a unanimidade de melhores solucães obtidas pelo algoritmo SPEA2 no experimento 3MP. Uma vantagem dessa abordagem e oferecer ao testador um conjunto de boas solucoes, com um numero reduzido de produtos e altos valores de cobertura. Abstract: The mutation test has recently been applied to the Software Product Line testing. The idea is to select products for testing according to mutation operators that represent possible faults in the Feature Model - FM. These operators associated with the mutation score are then used for evaluation and generation of test case sets. The generation of test sets to kill all mutants, and also meet other testing requirements with the minimum possible number of products, is a complex task. To solve this problem, this work proposes a multiobjective optimization approach that includes a representation to the problem, search operators and a fitness function with three objectives, related to the number of test cases, number of mutants killed, and number of covered feature pairs. The approach was implemented with three multiobjective evolutionary algorithms: NSGA-II, SPEA2 and IBEA. Two experiments were conducted: one experiment (2M) with two objectives: set size and number of killed mutants; and other one (3MP) with three objectives: set size, number of killed mutants and feature coverage (pairwise testing). The evaluation analyzes the solutions obtained and compares the algorithms. In general all algorithms performed well. Among the main results we can mention: the IBEA runtime and the number of solutions obtained by NSGA-II in the experiment 2M and the best solutions obtained by SPEA2 in the experiment 3MP. An advantage of this approach is to offer the tester a set of good solutions, with a small number of products and high coverage values.
Collections
- Dissertações [355]