Gain more confidence in your code with mutation testing
Information
The core component of our work is code, and we all want to write the best one. But
how do we ensure that it is up to standard? We test it. The test results will tell us if
we did our job correctly. But how do we measure whether our code is good enough?
A common test metric like code coverage can be misleading, hitting 100% code
coverage does not necessarily mean effective tests. And if we find a metric, where
do we draw the line?
There is a methodology of testing which more objectively assesses if your test suite
is reliable enough or even how many unwanted changes to production code could go
undetected.
This methodology mutates your source code and runs the unit tests against it. If your
tests still pass, it means that your tests are not highly effective, or they leave some
potential bugs behind. If your tests fail, then you have written effective tests.
The presentation will have these key points:
- Applying this methodology will extend your insight into the quality of your tests
and your code.
- You will have an objective metric in test strength and gain confidence in your
code.
- We will show how we do it, highlight the approach, lessons learned and show you
interesting features.
After this talk, we will understand how much testing is important for our daily work
and will put effort into improving how we do it and therefore improve the production
code quality.
Also, it will help us to change mentality to test first and develop afterwards, making
mutation testing just a confirming tool of the excellent job that we are already doing.
