Teste de software | Teste de mutação
O Teste de Mutação é um tipo de Teste de Software que é executado para projetar novos testes de software e também avaliar a qualidade dos testes de software já existentes. O teste de mutação está relacionado à modificação de um programa em pequenas maneiras. Ele se concentra em ajudar o testador a desenvolver testes eficazes ou localizar pontos fracos nos dados de teste usados para o programa.
História do teste de mutação:
Richard Lipton propôs o teste de mutação em 1971 pela primeira vez. Embora o alto custo tenha reduzido o uso de testes de mutação, agora ele é amplamente usado para linguagens como Java e XML.
O teste de mutação é um teste de caixa branca .
O teste de mutação pode ser aplicado a modelos de design, especificações, bancos de dados, testes e XML. É uma técnica de teste estrutural, que usa a estrutura do código para guiar o processo de teste. Pode ser descrito como o processo de reescrever o código-fonte em pequenas formas para remover as redundâncias no código-fonte.
Objetivo do teste de mutação:
O objetivo do teste de mutação é:
- Para identificar partes do código que não foram testadas corretamente.
- Para identificar defeitos ocultos que não podem ser detectados usando outros métodos de teste.
- Para descobrir novos tipos de erros ou bugs.
- Para calcular a pontuação de mutação.
- Para estudar a propagação de erros e infecção de estado no programa.
- Para avaliar a qualidade dos casos de teste.
Tipos de teste de mutação: o
teste de mutação é basicamente de 3 tipos:
- Mutações de valor:
neste tipo de teste os valores são alterados para detectar erros no programa. Basicamente, um valor pequeno é alterado para um valor maior ou um valor maior é alterado para um valor menor. Neste teste, basicamente, as constantes são alteradas.Exemplo:
Código Inicial: mod int = 1000000007; int a = 12345678; int b = 98765432; int c = (a + b)% mod; Código alterado: mod int = 1007; int a = 12345678; int b = 98765432; int c = (a + b)% mod;
- Mutações de decisão:
nas decisões, as mutações são operadores lógicos ou aritméticos que são alterados para detectar erros no programa.Exemplo:
Código Inicial: if (a <b) c = 10; outro c = 20; Código alterado: if (a> b) c = 10; outro c = 20;
- Mutações de instrução:
nas mutações de instrução, uma instrução é excluída ou substituída por alguma outra instrução.Exemplo:
Código Inicial: if (a <b) c = 10; outro c = 20; Código alterado: if (a <b) d = 10; outro d = 20;
Vantagens do teste de mutação:
- Traz um bom nível de detecção de erros no programa.
- Ele descobre ambigüidades no código-fonte.
Desvantagens do teste de mutação:
- É muito caro e demorado.
- Não é compatível com o teste de caixa preta.
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva