By Michael_MULLER
via tocea.com
Published: Nov 12 2012 / 16:13
Software testing aims at checking the correctness of a program. But how can you check the correctness of your tests? Quis custodiet ipsos custodes? Mutation analysis can help you evaluate the quality of a test suite.
Comments
Steve Mcduff replied ago:
Looks oddly similar to Jester http://jester.sourceforge.net/
hjc replied ago:
Similar, but much improved. http://pitest.org/java_mutation_testing_systems/
alightgoesout replied ago:
As mentioned by Steve Mcduff, Jester is indeed another mutation testing tool for Java. PIT offers several improvements. For instance, PIT does in-memory bytecode mutation. This is more efficient than Jester, which mutates the java source and actually writes it to disk before executing it. Also PIT is still supported and developed whereas Jester has not been actively developed for years. As pointed by hjc, the PIT website hosts a detailed comparison with other mutation testing frameworks.
Steve Mcduff replied ago:
Great, good to know. The best use I found for Jester (and now potentially PIT) was to run unit test education sessions. Ask participants to create unit tests for a class, and then show them how good or bad their tests are with a few mutations. It's a struggle to encourage good basic unit test practices in most organizations. I feel levels usually go from 0 - no UT 1 - basic UT 2 - good UT using code coverage to find gaps 3 - use mutation testing #3 is probably a bit to costly to implement consistently on large projects, but if someone can prove me wrong, I'm very interested in learning how.
Voters For This Link (21)
Voters Against This Link (0)