Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

How does Clover compare to its competitors? What are Clover's advantages?

SimonS
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 29, 2012

The summary says it all: How does Clover compare to its competitors? What are Clover's advantages?

2 answers

1 accepted

1 vote
Answer accepted
Marek Parfianowicz
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
September 9, 2012

I would also add:

  • Distributed Coverage - allows you to measure code coverage for application being executed on several machines (JVMs) so that you can track how a single test method has covered business logic; great feature for all modern ejb/web apps
2 votes
SimonS
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 29, 2012

Atlassian is a little different in that we do not have an external sales force that can develop and maintain general competitor comparisons, but I can tell you how Clover compares to its main competitors - EMMA and Coberta.

When compared to Coberta, Clover has these advantages:

  • Development- Atlassian has a very active release cycle constantly making improvements and releasing new features. Nearly 2 years elapsed between Cobertura 1.9 and 1.9.1.
  • Coverage - Cobertura gives you line coverage, branch coverage and complexity; Clover gives you statements, methods, and conditionals. However, they both report how many times each line of code has been executed, and both highlight the zero lines in red.
  • Speed - Clover's test results execute much faster thanks to test optimization.
  • eporting - I found was very good agreement on a line-by-line basis between the reports produced by the products, but there are differences:
  • Cobertura's summary figures are optimistic, telling me I have 100% branch coverage in places where I don't... but the detailed reports do show non-executed branches. Perhaps it's just a rounding error?
  • Clover shows lines of code that have been partly executed. For example: a test on a boolean that has only evaluated to true even though it has been called many times. Cobertura treats the line as exercised. Of course if you always have a matching else for every if, this won't worry you because Cobertura will spot the non-executed condition.
  • Clover shows details for inner classes (Cobertura bundles them together). I don't think this is a big deal; I just happened to notice the difference.

When compared to Emma, Clover has these advantages:

  • More Accurate - Clover supports branch coverage, indicating whether a particular branch was evaluated under both the true and false conditions. If only the false condition was evaluated, then Clover is smart enough not to report that branch as covered. EMMA uses byte-code instrumentation and therefore can't measure branch coverage. Clover also uses cyclomatic complexity.
  • Per-Test Coverage - Clover measures per-test coverage so you can see which tests covered which lines of code.
  • Faster - Only Clover uses test optimization.
  • More Active - While Clover has regular releases, EMMA hasn't received a single update since July, 2005.
  • Better Interface - Just compare this Clover screencast with EMMA's interface.
  • Full Support - Clover customers receive full technical support as part of their maintenance.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events