If you write tests after writing the code, you assume the test is OK because it passes, when it could be that you have bugs in your tests. Trust me—finding bugs in your tests is one of the most frustrating things you can imagine. It’s important that you don’t let your tests get to that state, and TDD is one of the best ways I know to keep that possibility close to zero.
Roy Osherove, The Art of Unit Testing
A co-worker just turned me on to the book The Art of Unit Testing by Roy Osherove, and I’ve quickly fallen in love. This quote is a little nugget from the first chapter.