Balance your effort spent on writing application and test code.
Use the most sophisticated code coverage tool for Java and Groovy.
OpenClover measures code coverage for Java and Groovy and collects over 20 code metrics. It not only shows you untested areas of your application but also combines coverage and metrics to find the most risky code.
The Test Optimization feature tracks which test cases are related with each class of your application code. Thanks to this OpenClover can run tests relevant to changes made in your application code, significantly reducing test execution time.
Does testing getters and setters bring much value? Or machine-generated code? OpenClover outruns other tools in its flexibility to define scope of coverage measurement. You can exclude packages, files, classes, methods and even single statements. You can focus on testing important parts of your code.
OpenClover not only records test result but also measures individual code coverage for every test. It gives you deep insight on what your tests actually do. You can find test results, which tests cover given class or source line or which classes were executed by test.
OpenClover has dedicated plugins for Jenkins, Bamboo and Hudson. With a few clicks you can setup code coverage measurement for your builds. With OpenClover integrations with Ant, Maven and Grails you get even more flexibility.
OpenClover has plugins for IntelliJ IDEA and Eclipse. Thanks to them you can track your code coverage while coding and find untested areas before you commit your code to a repository.
I quite often get questions like "When are you going to deliver feature X or fix bug Y". We try to group features and bug-fixes from similar areas of functionality into themes and produce theme-focused releases. Let me share what are the themes of next releases and why.
Do you know? Clover’s HTML report is like an ogre from the Shrek movie – it is composed of layers. Every time I thought I already learned this report, I was discovering new, tiny but yet extremely useful detail in it.