Lar Desenvolvimento O que é teste de mutação? - o que é techopedia

O que é teste de mutação? - o que é techopedia

Índice:

Anonim

Definição - O que significa Teste de Mutação?

O teste de mutação é um método de teste de software no qual o programa ou o código-fonte é deliberadamente manipulado, seguido por um conjunto de testes contra o código mutado. As mutações introduzidas no código fonte são projetadas para imitar erros de programação comuns. Um bom conjunto de testes de unidade geralmente detecta as mutações do programa e falha automaticamente.


O teste de mutação é usado em muitas plataformas diferentes, incluindo Java, C ++, C # e Ruby.

Techopedia explica Mutation Testing

O teste de mutação é um método simples, mas engenhoso, usado para validar a correção do código fonte e o processo de teste. O conceito foi cunhado por Richard Lipton em 1971 e houve um aumento de interesse desde então.


O mecanismo de trabalho dos testes de mutação é simples e direto. Uma parte do código-fonte que abrange todos os testes de unidade é selecionada. Após verificar todos os testes positivos para um determinado código-fonte, uma mutação é introduzida no programa.


O grau de mutação aplicada a um determinado bloco de código pode variar. Uma implementação comum de teste de mutação envolve a substituição de um operador lógico por seu inverso. Por exemplo, o operador "! =" É usado no lugar de "= =." Em alguns casos, a mutação envolve reorganizar as linhas para alterar a ordem de execução ou até excluir algumas linhas de código. Níveis complexos de teste de mutação podem resultar em erros de compilação.


Depois que um programa é modificado, um conjunto de testes de unidade é executado contra o código mutado. O código mutado passa ou falha no teste de unidade, dependendo da qualidade do teste. Um teste de unidade bem escrito deve detectar erros de código mutados, resultando em falha. Um teste de unidade que falha na detecção de erros de código pode exigir uma reescrita.


O teste de mutação facilita as seguintes vantagens:

  • Identificação de falha do código do programa
  • Desenvolvimento eficaz de caso de teste
  • Detecção de brechas nos dados de teste
  • Melhor qualidade do programa de software
  • Eliminação da ambiguidade do código

As desvantagens do teste de mutação incluem:

  • Implementação difícil de mutações complexas
  • Caro e demorado
  • Requer testadores qualificados com conhecimento de programação

O que é teste de mutação? - o que é techopedia