There are lots of questions on SO about TDD, and a lot of misconceptions. Where can I point people to when trying to answer questions?
When I am describing TDD to others I go to Phlip Plumlee's (phlip cpp) description in news groups. The link is a long article and includes a discussion on Simplicity, a description of the TDD cycle and even an example in C++ using cppUnit.
I like to point people to the bowling game episode. It's a good tutorial, simple, not too long and it illustrates the test-driven point very well.
You could point them at a youtube videos perhaps.
The definition I've been fed from my university degree is:
...Traditionally testing was "Test last". TDD turns this around to "Test First", with code being written in small amounts, inclemently.
Having never been part of a purely test driven project (nor would I want to be!) I don't know how true this is to purists.
"Scrum in 10 minutes" is a good video about the surrounding methodologies, though not strictly about TDD.
There's a great book on this topic Test-Driven Development By Example by Kent Beck and in this book TDD looks like this (with my own words):
- Write a test;
- Make it compile;
- Make it pass;
- Remove redundancies.
For a succinct description of Test Driven Development and its benefits in a short article, I don't think you can do better than Robert C. Martin's classic blog post, The Three Rules of TDD.