Roy van Rijn is a Software Craftsman at JPoint. He worked on miscellaneous projects and has given talks at Devoxx BE, Devoxx UK, Devoxx PL, Joy of Coding, J-Fall and J-Spring. He regularly gives trainings on various topics, including Spring, Software Architecture, Testing and Agile/Lean. He's also a blogger (http://www.royvanrijn.com) and you can follow him on Twitter (@royvanrijn).
In Java 9 we will finally get a REPL (Repeat, Evaluate, Print, Loop) in Java, and it will be called the JShell. In this (ad-hoc, unprepared) quickie, I'll be doing live coding, without any slides. First we'll start by installing JShell using the latest JDK9 release. Than we dive into the REPL itself and explore the possibilities!
We all write unit tests and we measure the quality of the tests with line coverage or (even better) branch coverage... But this is wrong, it gives you a false sense of security. I've seen tests that have 100% 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 you can use it. I'll show and compare some Java frameworks (PIT, Jester, Jumble) that enable (automatic) mutation testing in your project, from local build to continuous integration. After this talk you can and will start using mutation testing!