Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: Organising Large Test Suites

by adrianh (Chancellor)
on Jun 06, 2004 at 23:05 UTC ( [id://361823]=note: print w/replies, xml ) Need Help??


in reply to Organising Large Test Suites

You might partition your test suite into two pieces: one to test bugs raised in the field; the other to grow in-step with the code as you develop it (i.e. test-driven development).

I try not to do this for a couple of reasons:

  • The failing bug test is often illustrating something useful about holes in the existing test suite. If it's off it a separate area it is harder to get a good handle on the unit being tested since the tests are spread out over different locations.
  • There is a tendency to sideline the bug-report tests if they're not causing your main build to fail.

If it's not something that can be fixed immediately I might make it a $TODO test so that the test suite runs successfully, but there's always that reminder that there is technical debt that needs to be paid off.

My current plan is simply to insert bug-IDs/test-case IDs in test program comments and Configuration Management change logs. How do you do it?

I tend to use the SCM logs for this, and I've also been experimenting with subversion's properties (for those who don't use subversion properties are versioned metadata you can associate with files/directories).

IMHO it belongs in the SCM not the tests themselves since it's basically a comment and, as test suites and code gets refactored. the comment gets more and more out of sync with reality. You want to track when the failing test(s) for a particular bug were created and when they were fixed, which is a job that source control does well. I'm not really certain that there is much utility in tracking stuff after that.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://361823]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (None)
    As of 2024-04-25 00:53 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      No recent polls found