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

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

2 answers

1 accepted

1 vote
Accepted answer

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

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
Community showcase
Posted Tuesday in Statuspage

Introducing Statuspage Getting Started guides! First up: What is Statuspage?

Over the next several weeks we'll be sharing some of our Getting Started guides here in the community. Throughout this series of posts, we'd love to hear from customers and non-customers ab...

226 views 4 1
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you