The Countdown Is On — Secure Your Ticket Now!

Tutorial N

Who Will Guard the Guards Themselves? – Testing Your Tests With Mutation Testing

Bas Dijkstra

13:30 - 17:00 BST, Tuesday 3rd June

Automated tests are a great way to continuously verify whether specific
expectations about the behaviour of the software that you’re building
are still being met. But did you know that your automated tests can
deceive you? What do you know about the quality of your automated tests?
Or, as the Roman poet Juvenal put it much more eloquently almost two
millennia ago:

“Who will guard the guards themselves?”

One of the techniques that can help you, your team and organization to
get more insight into the quality of your automated tests is mutation
testing.

In this tutorial, we will first discuss ways in which your automated
tests can deceive you, and why code coverage alone is not a good
indicator for the quality of your tests.

Then, we will turn to mutation testing as a means to get more valuable
information about the quality of the tests we write, run and rely on.
Through several series of hands-on exercises, we will learn about
different types of signals that mutation testing tools can give us, how
we should interpret them and how we can use them to improve the quality
of both our test code and our application code.

To wrap up the tutorial, we will discuss how to get started with
implementing mutation testing in your project, and where and when
mutation testing really shines.

As we will write and run Java code during this tutorial, please bring a
laptop with a Java JDK version 21, Maven and an IDE of your choice
installed. More detailed installation instructions will be made
available soon.