Code coverage is one of the more widely used metric in software projects. One of the reasons is because it is easy to grasp: higher code coverage means that more parts of the code base have been covered with tests, supposedly providing a certificate that the system is more well-tested. But is it, really?
As I have mentioned in my previous talk and also in my book chapter, "any code quality metric is as good as how it is used". Have we been using code coverage correctly? Do higher code coverage really correspond to more well-tested system? What if our pursuit for 100% coverage is a blind pursuit?
Code coverage is one of the more widely used metric in software projects. One of the reasons is because it is easy to grasp: higher code coverage means that more parts of the code base have been covered with tests, supposedly providing a certificate that the system is more well-tested. But is it, really?
As I have mentioned in my previous talk and also in my book chapter, "any code quality metric is as good as how it is used". Have we been using code coverage correctly? Do higher code coverage really correspond to more well-tested system? What if our pursuit for 100% coverage is a blind pursuit?
Outline:
Slides