Issue Details (XML | Word | Printable)

Key: CLOV-97
Type: Improvement Improvement
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Geoff Crain [Atlassian]
Reporter: Andy Armstrong
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Clover

Add more options for generation of the Clover 'movers' report

Created: 07/Nov/07 10:40 AM   Updated: 22/Apr/08 12:50 AM
Component/s: None
Affects Version/s: None
Fix Version/s: 2.3

Time Tracking:
Issue & Sub-Tasks
Issue Only
Not Specified

Environment: Clover 1 (we're upgrading our builds to use Clover 2 at the moment) on Windows XP.
Issue Links:
Reference
 

Participants: Andy Armstrong, Geoff Crain [Atlassian], Michael Studman [Atlassian] and Nick Pellow [Atlassian]
Since last comment: 21 weeks, 3 days ago
Resolution Date: 22/Apr/08 12:50 AM
Labels:

Sub-Tasks  All   Open   

 Description  « Hide
As described in CLOV-39, we are using Clover history reports as a way to stop coverage from slipping. In particular, we look at the movers to see what problems have been introduced in the last day, week or month.

I just realized today that what I want in the report is the classes that have caused the biggest slip in coverage. The movers currently are defined as being the classes with the biggest percentage increase or decrease in their own coverage, but this means that small classes can get big increases without adding much impact to the overall coverage. For example, I added a toString method to a really simple class, and its coverage dropped 42%. While it is true that this was something I shouldn't have done, the overall impact to our coverage level is miniscule. All that it has added is a couple of extra lines of uncovered code, but yet it jumps to the top of the list.

I was wondering if we could have some controls over how the movers reports are calculated. I can understand that some users might prefer the current behavior so I don't suggest removing it, but it seems like it would be useful to be able to say how 'movers' is defined: changes in lines covered, changes in methods covered, changes in class percentage etc.

Also, we would very much like the option to be able to include multiple movers reports in one report. Currently each history report can only have one movers section. However, we often want to see it in different ways: movers since the last run, movers this week, movers this month etc. We worked around this by generating the report three times, but that isn't very easy to navigate around. It would be great to have a navigatable history that you could browse through dynamically, but just statically generating multiple reports would be a big step forward. I haven't tried Clover 2 reports yet, so apologies if this is already supported.



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Andy Armstrong added a comment - 14/Nov/07 12:06 PM
Any comments on this issue? We are starting our migration to Clover 2, and I'd like to be able to instigate the kind of policy described here that warns when our overall coverage slips.

Thanks,

  • Andy

Nick Pellow [Atlassian] added a comment - 14/Nov/07 05:32 PM
Hi Andy,

History reporting is something we will be improving for Clover 2.1. The above ideas are very good and will most likely be implemented for 2.1. If we get them done before the official release date - I should be able to give you a development build to try.

Cheers,
Nick


Michael Studman [Atlassian] added a comment - 31/Jan/08 08:40 AM
We've only had time to implement multiple movers. We're very close to implementing different types of movers (like the ones you've suggested above) but will have to defer this to post-2.1 release (probably 2.1.1).

Nick Pellow [Atlassian] added a comment - 10/Apr/08 07:45 PM
This is probably easiest done by making the movers section of the report take either a set of <columns/> or just a single <column> element.

This will allow users to define arbitrary metrics to detect movers.

see: http://confluence.atlassian.com/display/CLOVER/clover-report#clover-report-Columns for a list of available columns.
NB - even the <expression/> column should be supported.