With the release of Clover 2.5, we have taken Test Optimization to a new level with some very significant improvements. You can now take advantage of Test Optimization directly from Eclipse and IntelliJ IDEA with the click of a button. We have also added Test Optimization for functional testing or acceptance testing since these types of tests tend to benefit the most.
Clover is still the essential Java code coverage analysis tool providing detailed per-test coverage data, instant feedback right in your IDE, and interactive historical reports.
Download the latest release today!
What is Test Optimization?
If you are not familiar with Test Optimization, it’s a selective testing feature we introduced in Clover 2.4. Since Clover’s per-test coverage measures exactly which tests execute which lines of code, an optimised test run is able to automatically determine which tests to run based on the changes you have made. In addition, Test Optimization can prioritise those tests most likely to fail to run first, ensuring that fast feedback.
Optimal testing in your IDE
With Test Optimization at your fingertips in both Eclipse and IntelliJ IDEA, you now have it where you need it most. Typically when making small changes or refactoring, few developers re-run their entire test suite locally prior to committing their changes. Most do some ad hoc testing, or even worse, no testing at all.
Test Optimization lets you run “all tests” in your IDE without having to waste time waiting for irrelevant tests to finish or risk missing that one test which will prevented you from breaking the nightly build. This means you’ll likely test more frequently with Clover, improving the quality of your code and speed of development.
Here’s an example of how you can test more by testing less:
Save time functional testing
Another area where Test Optimization has a huge impact is functional or acceptance testing. Clover 2.5 now has distributed per-test coverage which means coverage data can be collected multiple JVMs.
Since functional tests have a tendency to run much longer than unit tests, the time savings are even more dramatic. For example, the acceptance testing for our Confluence team takes about 45 minutes, and with Test Optimization many of the test runs are now just a few minutes.