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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.