« Gruff Graph and Rails addendum | Main | Tech support - things to live by »
December 13, 2005
Yahoo Group post of the day
Problem:
I don't want to create a morass of unusable test cases, but I worry
that the test cases themselves will become a maintenance headache.
Proposed solutions from Mike Cohn:
As dumb as this sounds, I had an epiphany a few years ago when I realized that the goal is to "iterate everything all the time." Iterate the code and iterate the tests.I like to start a sprint with a user story plus the high level
acceptance tests (or "conditions of satisfaction" for the story). The
programmer starts iterating the code in short code-and-test cycles
(or preferably test-then-code cycles if doing TDD). While she's doing
this, the tester is iterating over the high level tests--that is,
making them specific (so instead of "test it with a big number" he
makes a test to test the feature with 4,000,001). While the tester is
iterating over the tests (adding detail, making tests specific) he is
also automating those tests.Ideally at the end of the day, the programmer and tester have a bit
of working code done and the tests automated that go with that code.
(For example, the feature works but only with positive numbers.) That
code is checked in for the nightly build. The next morning, they
continue to iterate, perhaps adding support for negative numbers that
day in both the code and its tests.In this way, there really aren't tests to deprecate.
Posted by jb at December 13, 2005 06:07 AM
Trackback Pings
TrackBack URL for this entry:
http://www.undefined.com/cgi-bin/mt/mt-tb.cgi/403