In A New Look at Test Driven Development Dave Astels adds to the growing movement to get away from the name test-driven development. He plumps for behaviour-driven, whereas I had opted for example-driven. Either is fine by me, as long as we get away from “test”-driven. Keith Ray quotes from Dave’s article, and I liked this paragraph so much that I just had to repeat it here:
It’s about figuring out what you are trying to do before you run off half-cocked to try to do it. You write a specification that nails down a small aspect of behaviour in a concise, unambiguous, and executable form. It’s that simple. Does that mean you write tests? No. It means you write specifications of what your code will have to do. It means you specify the behaviour of your code ahead of time. But not far ahead of time. In fact, just before you write the code is best because that’s when you have as much information at hand as you will up to that point. Like well done TDD, you work in tiny increments… specifying one small aspect of behaviour at a time, then implementing it.
Dave then goes on to demand code frameworks that help with behaviour/example-driven design, and which don’t use a testing vocabulary. Surely it would be quite easy to change all the names in Ruby’s Test::Unit …?