From: Jody B. <jod...@Q1...> - 2005-05-13 10:55:44
|
Sure does - thanks. My first thoughts were - this could be an addon package/application of sorts which can use your .ser file or the XML reports (once successfully completed). I would prefer to not touch your guys code at all if possible and just piggy back on what you have - make enhancements if required. This implies that, the way users run cobertura now would not change at all - providing a single user mode of sorts. Then the new additional task (ant?) could be run to export that data to a central or non volatile data store. (Data store could be RDBMS, flat file or what have you - makes no difference to me - as long as simple and fast). Key things for me are, it needs to be extremely simple to install and maintain. No over complicated configuration etc - keep it as it is today as much as possible. Agree about the UI - has to be clean, intuitive, simple and fast.=20 - Be nice to view reports on product? / project / package / class / ... hierarchy - as you navigate through the hierarchy - graph/plot for where you are - plotting lines of code / coverage over time (Jfreechart has some great plots) - Need to identify and ensure we have the right data in the datastore. A few reports which come to mind are - plain coverage stats - plain coverage stats plotted against lines of code - coverage stats of one project/package/class plotted against the baseline coverage of all projects (how does this project/package/class compare to the running average) ( more advanced :)) For now - I will focus on keeping it simple with two additional ant tasks, one for exporting/updating to non volatile datastore, the other for generating reports from that data. I will put together a more formal list of features / requirements over the next few days. Thoughts? -----Original Message----- From: Mark Doliner [mailto:Mar...@sa...]=20 Sent: Tuesday, May 10, 2005 12:03 PM To: Jody Brownell Cc: cob...@li... Subject: RE: [Cobertura-devel] How can I get involved.... *snip* > Anywho - the purpose of this email is to see how I can get=20 > involved. One > gap in the product which I noticed (and may already be planned) is > coverage statistics over time. I was thinking, unless this is on > someone's plate already I could start to get familiar with=20 > the code base > and put together a plan of attack - an impact of sorts - and=20 > propose to > you all. *snip* > Please let me know if this is of interest. BTW - what is the typical > process of getting involved? Hope I am not jumping the gun. You're not jumping the gun at all. I suppose the typical process of getting involved is to find something you're interested in fixing/improving/adding and writing a patch for it. I don't know of anyone working on statistics over time. And it's definitely something that would be nice to have. You would definitely want to work with CVS, if you plan on making any changes. Some of the stuff I mention below applies to CVS but not to the last release. I guess the easy way to do it would be to name the XML reports based on the date and time they were created, and then you could parse a directory of these files and determine the change over time. This wouldn't even need to be a part of Cobertura--it could be a completely separate program. Or maybe instead of reading the data from the XML reports, you could read it directly from cobertura.ser files. (The ser file contains basically the same information as the XML reports. The ser file contains serialized classes from the package net.sourceforge.cobertura.coveragedata. If you choose to go this route, you would need to use these classes to read the serialized file.) However, it might be better to modify the classes in the coveragedata package to natively support a time and date. I'm not sure how this would work exactly. Maybe you could tag the information in the ser file with a datestamp and then zero it out before running the next batch of tests. I think it is important that this have a good user interface. How would the statistics be displayed? As a line graph, maybe? How would the user tell Cobertura to create these reports? Would they specify a "start date" and "end date"? Would the report have a separate display for each package? For each class? Would it have a way to show differences in the source files? Does that help you, any? -Mark |