Kill All Mutants! (Introduction to Mutation Testing)
How good are your tests? Would they still pass if the tested code was changed? If so, there may be problems with your code, your tests, or both!
Mutation Testing helps reveal these cases.It makes lots of slightly altered versions, called “mutants”, of your functions, and runs your functions' unit tests, using each of its mutants instead. If a mutant makes any test fail, that mutant “dies”. “Survivors” imply flaws: your code might not be meaningful enough that …