Getting Lost In TDD
By Adrian Sutton
There is one major problem with test driven development – it makes it easy to get lost. When you don’t use TDD, you tend to run your application a whole lot to see what effect your latest code has made. With test driven development, you run your atomic tests a whole lot instead. The trouble is, if your unit tests are taking you in the wrong direction, it can be a long time before you find out.
Having good integration tests and acceptance tests helps here, but only if you run them regularly and since they tend to take a while, they generally aren’t run regularly. I talked about using acceptance tests this way previously in Acceptance Test Driven Development and that approach definitely helps, but nothing helps as much as regularly running your actual application and seeing what’s happening in real life. It makes me think that before you do a check-in you should run the actual application and test it as if you hadn’t been doing TDD just to be sure you know where you’ve been going.