by Thierry de Pauw on
Mutation Testing: Opportunities and Pitfalls, Ali Parsai, @AliParsai
Do I really have to test? No. But your code quality will suffer. @AliParsai
ESA Mars Lander blew because of an integer overflow => 250 millions burned
Better Test Quality => Fewer Bugs
Tests run against your software to be sure the software is right.
But we want to know the quality of the tests
=> inject a bug into the software
=> your software turns into a mutant
You want your tests to detect that bug
If the test detected the bug => killed the mutant
If it did not detect the bug => mutant survived
Java: very developed
C/C++: is almost there
If you have a coverage of 30% don't do mutation testing, only start when you have a coverage of 90%.
When running mutation testing on a 30% coverage you will miss lots of mutants that are not covered by the tests.