Choosing code coverage tools
I am doing my project in test case privatization using Java. Which tool is the best one for finding code coverage? Which tool gives the intermediate results while finding code coverage?
I've personally worked on project teams where we've used EMMA, Atlassian's Clover, and IBM Rational's PureCoverage (currently part of the PurifyPlus suite of tools) to capture code coverage information.
More important than the focus on tools, I'd recommend some articles on code coverage. b>
EMMA is an open source tool, and I know you can find other open source tools for code coverage in Java on Java-Source.net
. I never developed a particular affinity for one tool over the other. I walked away from these experiences with the feeling we could have been equally effective with any of them.
More important than the focus on tools, I'd recommend some articles on code coverage that might help make sure you're focusing on the right aspects: Depending on your level of experience with code coverage, Steve Cornett's article Code Coverage Analysis can serve as a good primer for the topic. If you already know what you're looking at, skip that one and move on to the next couple of references.
Next, take a look at Andrew Glover's article In pursuit of code quality: Don't be fooled by the coverage report. It has some excellent examples and covers a lot of the early mistakes I made when first evaluating coverage tools.
Finally, no list on code coverage articles would be complete without Brian Marick's paper, How to Misuse Code Coverage (PDF). It's an essential read for a number of reasons, not the least of which is that it provides more useful examples that might help you evaluate the tools you look at.
I would recommend trying a couple of different tools and see which you like best. Depending on your support requirements, you might want to evaluate some of the commercial options available. There are many of them out there, each with their own claim to fame.
This was first published in September 2008