Quis custodiet ipsos custodes? Better known as: *Who watches the watchmen?* We are all writing tests, doing TDD, BDD. We measure the quality of the tests with line coverage or (even better) branch coverage. This gives you a false sense of security. I’ve seen projects with tests which have 100% branch coverage but not a single assertion! This is where mutation testing helps out. By creating broken mutated instances of your codebase (mutants) this should result in failing unit tests. This way we can verify that slight code changes (like real life bugs) actually break your tests. In this talk I’ll explain what mutation testing is and how it works. We’ll also compare some Java frameworks (PIT, Jester, Jumble) that enable automatic mutation testing in your continuous build and how you can start doing mutation testing *right now*.
Bio van Roy van Rijn Roy van Rijn is a Software Craftsman at JPoint. He worked on miscellaneous projects and has given talks at Devoxx, J-Fall/J-Spring and numerous Dutch companies. He is also co-author of the book “Software Ontwikkeling in Java EE” (Software Development in Java EE). He regularly gives trainings on various topics, including Spring, Software Architecture, Testing and Agile/Lean. Currently he is involved with the HaMIS project by the Port of Rotterdam. A very successful Agile project, which hasn’t just changed the development team, but the whole project management structure underneath resulting in a hyper-productive project with self organizing teams. He’s also a blogger (http://www.royvanrijn.com) and you can follow him on Twitter: @royvanrijn