Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 19955 invoked from network); 3 Apr 2006 23:32:07 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 3 Apr 2006 23:32:07 -0000 Received: (qmail 2942 invoked by uid 500); 3 Apr 2006 23:32:06 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 2900 invoked by uid 500); 3 Apr 2006 23:32:06 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 2890 invoked by uid 99); 3 Apr 2006 23:32:05 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 03 Apr 2006 16:32:05 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=UNPARSEABLE_RELAY X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [192.18.98.31] (HELO brmea-mail-1.sun.com) (192.18.98.31) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 03 Apr 2006 16:32:05 -0700 Received: from phys-mpk-2 ([129.146.11.82]) by brmea-mail-1.sun.com (8.12.10/8.12.9) with ESMTP id k33NViSD026369 for ; Mon, 3 Apr 2006 17:31:44 -0600 (MDT) Received: from conversion-daemon.mpk-mail1.sfbay.sun.com by mpk-mail1.sfbay.sun.com (iPlanet Messaging Server 5.2 HotFix 1.24 (built Dec 19 2003)) id <0IX600H016KYVE@mpk-mail1.sfbay.sun.com> (original mail from David.Vancouvering@Sun.COM) for derby-dev@db.apache.org; Mon, 03 Apr 2006 16:31:44 -0700 (PDT) Received: from [129.150.20.211] (vpn-129-150-20-211.SFBay.Sun.COM [129.150.20.211]) by mpk-mail1.sfbay.sun.com (iPlanet Messaging Server 5.2 HotFix 1.24 (built Dec 19 2003)) with ESMTP id <0IX600C226O403@mpk-mail1.sfbay.sun.com> for derby-dev@db.apache.org; Mon, 03 Apr 2006 16:31:16 -0700 (PDT) Date: Mon, 03 Apr 2006 16:31:18 -0700 From: "David W. Van Couvering" Subject: Re: Monitoring/improving code coverage (was Re: code coverage results for trunk - svn revision no 390306) In-reply-to: <4431AE34.8070307@apache.org> To: derby-dev@db.apache.org Message-id: <4431B046.7080100@sun.com> MIME-version: 1.0 Content-type: text/plain; charset=ISO-8859-1; format=flowed Content-transfer-encoding: 7BIT X-Accept-Language: en-us, en User-Agent: Mozilla Thunderbird 1.0.7 (Windows/20050923) References: <836ae9af0603311535x7864b7dct5913e4a7f8ed239d@mail.gmail.com> <442DC13A.2050205@sun.com> <443190B4.2000001@sbcglobal.net> <44319606.20904@sun.com> <4431A13D.3010105@sun.com> <4431AE34.8070307@apache.org> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N I think it would be great to have more awareness about code coverage, esepcially if it gets worse. Getting people to work on it is a different question, and I agree it may be difficult. I know I would be alarmed if someone checks in a complicated feature and the code coverage for those packages is say 10%, and at a minimum a discussion should ensue. But as it stands we don't even know when that happens. I liked having a goal for each release of improving the code coverage by some modest amount -- incremental improvement. Another area where I think there would be value in increasing awareness is if we have a complexity analysis tool and some package jumps in complexity by 50% after a checkin... But that's another itch for another email thread. David Daniel John Debrunner wrote: > David W. Van Couvering wrote: > > >>I like the idea of having it as a release barrier, and I also like the >>idea of getting an email saying "Code Coverage Regression" and printing >>out the package(s) that have regressed below a low-water mark. > > > I'm not sure a release barrier will work. If the coverage is low in a > certain area and no-one has the itch to work on it then is there no release? > > Think about how the coverage gets low in the first place. Someone > contributes an improvement with some amount of testing. > > I think it's reasonable to reject such a contribution if there are > no-tests. Without tests there is no easy way for a committer to > determine if the feature even works. > > Now if tests are contributed that shows the feature basically works, but > have low code coverage, is there really a justification to reject the > contribution? The feature basically works according to the original > contributor's itch, it's someone else's itch that more tests exist. One > can always request more tests from the contributor, but I'm not sure you > can force it. > > >>What I am at a loss for is what the low-water mark should be. I think >>whatever we choose, we are going to have some immediate regressions. >>Then the question becomes, how much work are we willing to put into this >>to get it fixed. >> >>One approach that comes to mind is to set a reachable goal for each >>release as a step along the way to our ultimate goal. For right now, a >>regression could be if any package goes 10% below what our current >>baseline is. Then we try to raise the water each release and re-set our >>baseline. > > > Not sure how we can get people to scratch the code coverage itch. It > seems we can't get a lot of folks interested in fixing the 150+ bugs out > there, never mind writing more tests that might uncover more bugs. I > would love it if we could find a way. > > Bottom line is that if people don't care about code coverage they are > not going to work on improving it. > > Dan. > >