
One of the best ways to assess if code is resilient against bugs is to break it on purpose and see how it reacts.
The reaction should be a failure in the tests. If there is no reaction, it means that the tests are not effective enough, meaning their assertions are broad and imprecise.
Mutation testing comes to the rescue for this specific challenge. This methodology changes the source code and then runs the unit tests against the mutated codebase. The generated report helps the engineer find where the weak spots in the tests are.
In this talk we will cover the theory behind this methodology, followed by a live demo where code which could be described as "100% tested" would still be subject to bugs and how its related tests can be improved.
This approach will offer a way for engineers to gain confidence in their code and especially in their tests. With a high test strength, source code will not only be strong but also malleable to modifications, with the safe guardrails of unit tests protecting them from introducing bugs.
The audience will learn how to write more efficient and resilient tests due to the mutation tests giving them a different perspective on their code quality, compared to the normal tests. Mutation testing will also drive better production code, following the principle of Test Driven Design.
Simone Romani is an IT Chapter Lead at ING Nederland, leading a team of engineers focused on strengthening the performance and reliability of mobile backend services. With experience spanning backend development, blockchain, and R&D roles at ING, IBM, and Ericsson, he brings a strong focus on code quality, testing, and customer trust.