Você está aqui: Página Inicial / Pós-Graduação / Informática / Temas de Pesquisa / Testes de Mutação (Mutation Testing)

Testes de Mutação (Mutation Testing)

Orientador: Prof. Dr. Marcio Ribeiro

Descrição:

 

Teste de Mutação baseia-se na ideia de teste baseado em falhas. Usando defeitos artificiais, inseridos propositalmente (e automaticamente), podemos avaliar a suíte de testes do nosso sistema e guiar o processo de geração dos testes. Em resumo, um mutante é criado copiando o programa original e inserindo uma pequena variação no código (possível falha). Por exemplo, trocar o "<=" por ">" em um comando if. Após a transformação, executamos a suíte de teste sobre este mutante e verificamos se pelo menos um teste falha, o que significa que nosso teste está prevenido contra esse possível erro. Caso nenhum teste falhe, então o desenvolvedor deve criar um novo teste que previna o erro inserido. Teste de Mutação é uma poderosa técnica de teste. Contudo, a técnica é bastante custosa. Alguns motivos para isso são o grande número de mutantes gerados e a presença dos mutantes “inúteis". Este projeto tem por objetivo criar técnicas e ferramentas para detectar e evitar a geração de mutantes inúteis. Pretende-se estender ferramentas como MuJava, PIT e Major, de forma que estas gerem menos mutantes inúteis. Para trazer evidências dos ganhos deste projeto, estudos empíricos (utilizando técnicas de engenharia de software empírica) são esperados.

Referências:

  1. Delamaro, Márcio Eduardo; Jino, Mario; Maldonado, José Carlos. Introdução ao Teste de Software - 2ª Ed. Elsevier - Campus, 2016.