This presentation covers the theory behind mutation testing and how to use it, but most importantly it looks at what it is really for and how it can make your life easier. Mutation testing is a once obscure development technique that dates back to the 1970s. Faults (or mutations) are automatically seeded into your code, then your tests are run. If your tests fail then the mutation is killed, if your tests pass then the mutation lived.

The quality of your tests can be gauged from the percentage of mutations killed. Thanks to the open source tool pitest, mutation testing has recently become much more widely used in the Java community. When people talk about mutation testing they often talk about “more than 100% code coverage” but is this what it is really about?

Video producer: https://javazone.no/