Bem-vindo ao trabalho prático de Teste de Mutação. O objetivo deste projeto é usar a ferramenta StrykerJS para avaliar e fortalecer uma suíte de testes que, à primeira vista, parece boa.
Este repositório contém uma biblioteca de cálculos simples. A suíte de testes inicial em __tests__/ foi projetada para ter uma alta cobertura de código, mas esconde fraquezas que só o teste de mutação pode revelar.
Sua missão é atuar como um engenheiro de qualidade para encontrar essas fraquezas e escrever testes mais robustos para corrigi-las.
- Prepare o ambiente: Clone o repositório e rode
npm install. - Análise Inicial:
- Rode
npm testpara ver os testes passando. - Rode
npm run coveragee anote o percentual de cobertura.
- Rode
- Análise de Mutação:
- Configure o StrykerJS (
npx stryker init). - Execute a análise com
npx stryker run(ounpm run mutateapós configurar o script). - Abra o relatório HTML e analise os mutantes que sobreviveram.
- Configure o StrykerJS (
- Aprimore os Testes:
- Para cada mutante sobrevivente, entenda por que ele não foi "morto".
- Adicione novos testes em
__tests__/operacoes.test.jsfocados em asserções mais específicas para matar esses mutantes.
- Validação Final:
- Rode o Stryker novamente e verifique se sua pontuação de mutação aumentou, idealmente para mais de 95%.
Siga as instruções do documento do trabalho para a entrega final. Boa sorte!