Tales about Aviation, Coaching, Farming, Software Development

Coverage != testing

This morning I stumpled upon this:

Alex Miller in Coverage != testing:
Testing verifies your code, coverage verifies your testing, but you can’t say that coverage tests your code.

That's just so true. It's a good idea to start a new class with a unit test where you can model it and show how to use it. After all the test is where you first use the new code. And a unit test makes great documentation as well. It's likely that you will gain 100% coverage from the unit test. But you have not really tested yet. The missing piece is the integration with other parts of your system.

In my opinion it's a good idea to have a team member wearing the QA hat. That's the person who should be vigilantly checking whether there are enough integration tests that really take on edge cases and correctly simulate user behavior or other forms of input.