Hi Folks,
At the Engineering meeting we have been working through the items
from the 0.5 debrief (we got a little derailed by 0.6 stuff). One of
the topics that we discussed this week was regression testing. The
basic idea is to have tests that check for bugs that have previously
been fixed, so that we don't regress the same bugs. If we find a bug
in a component, then I think it's safe to say that we also found a
hole in our test coverage.
In order to improve our test coverage (and make sure that the same
bugs don't crop up later), we would like people to check in a test
case when they fix a bug. The test case should ensure that the bug
has been fixed. You can add the testcase to the same file as the
other tests for the module. I try to put the bug number in the name
of the test method, so if you look at repository/query/tests/
TestNotification.py <http://svn.osafoundation.org/chandler/trunk/
chandler/repository/query/tests/TestNotification.py>, you'll see a
test for Bug # 2288. I've used this approach very successfully on
other projects, and it definitely prevented the introduction of
regressions. Unfortunately, I haven't been as good about this as I'd
like to be, so I'm going to be working at doing a better job of this.
As a side note, I think it's great that more of us are getting more
interested in topics related to testing (I saw a discussion in IRC
about Kent Beck's excellent Test Driven Development book <http://
www.amazon.com/exec/obidos/tg/detail/-/
0321146530/002-7429555-8309616>). There are a lot of similarities
between Agile development methodologies like Extreme Programming or
Scrum and good open source projects.
Ted
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Open Source Applications Foundation "Dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/dev