Mutation Testing

Mutation Testing

How well tested is your system? How do you measure it? Code coverage can give you an answer, however how well are tests actually written, and... can we trust them?As a developer: How do you know that even the smallest change to the code will make at least a test fail?As someone with a management role: How do you handle big projects with high quality requirements, when developers can write a lot of unit tests which have no assertions whatsoever? (and yes, the test coverage is very high)Mutation testing is a method to check the quality of your unit tests and show more reasonable and useful code coverage reports. This session will describe the main idea and concepts of mutation testing, and some technical means to implement it in Java/JVM.Finally, a live example will follow, with the use of PIT Mutation Testing framework - first illustrating the concepts, and then showing results of testing a more complex Java web application.