The usefulness of unit tests is no longer discussed. They are essential in conception of a quality application. But, how can we assess their relevance?
A code coverage indicator up to 100% doesn’t mean the code is 100% tested. This is just a view of executed code during unit tests execution.
Mutation testing will allow you to have more confidence in your tests.
This is a two step process:
- Generate mutants.
- Check that the mutations are found by the tests.
I wrote a entire article about this process, including some concrete cases.