in reply to Regression testing

As the comment says, think Loose Coupling. :-)

It has been understood since the early 70's that interactions between parts of your software are the source of the hardest to track bugs, and inevitably this is where all sizeable software projects will run into problems. Pick up The Mythical Man-Month for details.

What this means is that you should define your software in terms of small components with well-defined, behaviour and simple interfaces. You then can hook them up together keeping interaction between components to a minimum.

As for books, well I am a big fan of Steve McConnell, Code Complete is a classic that explains a lot of how to do the factoring at a low level, and offers references on topics it doesn't cover (like testing).

Replies are listed 'Best First'.
(jcwren) RE: RE (tilly) 1: Regression testing
by jcwren (Prior) on Sep 26, 2000 at 18:21 UTC
    The Pragmatic Programmer also has a lot of good things to say about this.

    The majority of it involves building in tests as you go. Rather than writing a huge Windows application (as an example of something that's typically more difficult to test than a command line application), then backing in test-suite code, you should be designing the application with this in mind.

    This might mean building in hooks where input can be taken from a file or a socket, rather than requiring a mouse to be clicked (there *are* scripting tools for testing, but that's a slightly different track).

    Another fundamental concept is that as you write code for debugging, these tests remain. If the bug was there once, it's likely that it can recur. You've already written the test code, so why throw it away? Rather, incorporate it into the overall test suite.

    Lotsa good ideas in that book...

    --Chris

    e-mail jcwren
RE: RE (tilly) 1: Regression testing
by Adam (Vicar) on Sep 26, 2000 at 20:23 UTC
    There is a sequal to Code Complete that I found to be somewhat better, called Debugging the Development Process (also by Steve McConnell). He repeats at least half of Code Complete, so its a bit frustrating to read both; given the two I would recommend Debugging....