“Why just think your tests are good when you can know for sure?
Sometimes Jester tells me my tests are airtight, but sometimes the
changes it finds come as a bolt out of the blue. Highly recommended.” – Kent Beck
But I see that there is not even a tag called “Jester” in stackoverflow. So what is the modern replacement for Jester,if any ? How can one be sure that unit tests written are rock solid other than finding statistics from code coverage from tools like Cobertura and Clover?
3
As far as I’m aware mutation testing remains the best automated process for measuring the quality of your test suite. There are two good modern replacements for jester
http://pitest.org (I’m the author)
https://github.com/david-schuler/javalanche/
A detailed comparison between them, jester, and a couple of other systems is available here
http://pitest.org/java_mutation_testing_systems/
I think the main reason that jester never took off was that it was unworkably slow and scaled very badly.
PIT and javalanche both attempt to address this in a similar way. Instead of blindly running all the tests in a project against a mutation they first gather line coverage and run only those tests that can actually hit a mutation.
PIT also performs various other optimisations to speed things up and offers an option to re-use the results of previous analysis to greatly reduce the computational cost of subsequent runs.
4