O Que É Mutation Testing?
O mutation testing avalia quão boa uma suíte de testes realmente é fazendo mudanças pequenas e deliberadas (mutations) no código e então rodando os testes para ver se eles falham. Uma mutation sobrevivente significa que os testes não detectaram aquela mudança, revelando uma lacuna. Ele mede a eficácia dos testes, não apenas quantas linhas eles tocam.
Por que isso importa
Alto code coverage pode esconder assertions fracas: um teste pode executar uma linha sem verificar seu resultado. O mutation testing expõe isso perguntando se os testes de fato perceberiam se o código estivesse quebrado, dando um sinal muito mais honesto da qualidade dos testes do que o coverage sozinho.
Conceitos relacionados
- Mais rigoroso que o line coverage
- Um mutant "morto" significa que um teste detectou a mudança
- Computacionalmente caro, então frequentemente rodado seletivamente
Guias relacionados
What Is Code Coverage?Code coverage measures the percentage of source code executed by a test suite, indicating which parts are exe…
What Is a Regression Test?A regression test verifies that previously working functionality still works after a change, catching newly i…
What Is a Flaky Test?A flaky test passes and fails intermittently on the same code, usually due to timing, ordering, or environmen…