Teste de mutação

O que é teste de mutação?

O teste de mutação é uma técnica de teste estrutural, que usa a estrutura do código para guiar o processo de teste. Em um nível muito alto, é o processo de reescrever o código-fonte em pequenas formas, a fim de remover as redundâncias no código-fonte

Essas ambigüidades podem causar falhas no software se não forem corrigidas e podem facilmente passar pela fase de teste sem serem detectadas.

Benefícios do teste de mutação:

Os seguintes benefícios são experimentados, se o teste de mutação for adotado:

  • Ele traz um novo tipo de erro à atenção do desenvolvedor.

  • É o método mais poderoso para detectar defeitos ocultos, que podem ser impossíveis de identificar usando as técnicas de teste convencionais.

  • Ferramentas como Insure ++ nos ajudam a encontrar defeitos no código usando o estado da arte.

  • Aumento do índice de satisfação do cliente, pois o produto apresentaria menos erros.

  • Depurar e manter o produto seria mais fácil do que nunca.

Tipos de teste de mutação:

  • Value Mutations:Uma tentativa de alterar os valores para detectar erros nos programas. Normalmente alteramos um valor para um valor muito maior ou um valor para um valor muito menor. A estratégia mais comum é alterar as constantes.

  • Decision Mutations:As decisões / condições são alteradas para verificar os erros de projeto. Normalmente, alteramos os operadores aritméticos para localizar os defeitos e também podemos considerar a mutação de todos os operadores relacionais e lógicos (AND, OR, NOT)

  • Statement Mutations: Alterações feitas nas instruções excluindo ou duplicando a linha que pode surgir quando um desenvolvedor está copiando e colando o código de outro lugar.