Differences between revisions 15 and 16
Deletions are marked like this. Additions are marked like this.
Line 30: Line 30:
 * Dan Bunea's [http://danbunea.blogspot.com/2005/12/test-little-code-little-practical.html Test a little, code a little - a practical introduction to TDD] with examples in C#/NUnit.

There's lots and lots of information on Test Driven Development (TDD) on the web. Much of it is very useful, but many people still don't get the primary point.

  • Test Driven Development is a design technique, not a testing technique.

Sure, you end up with a UnitTest suite that can be very useful for testing and provide a framework for adding tests. This is a wonderful benefit of TDD, but it's not what TTD is.

  • "That's what a ship is, you know. It's not just a keel and hull and a deck and sails. That's what a ship needs. But what a ship is... is freedom." (Captain Jack Sparrow, from Walt Disney's Pirates of the Caribbean: The Curse of the Black Pearl)

Test Driven Development is also freedom. It's the freedom to change your mind. It's the freedom to move forward without worrying that you're making a mistake. It's the freedom to concentrate on what you want rather than how to build it.

ToBeWritten:

  • The change of viewpoint required to do TDD.
  • How the tests generated by TDD are "free," coming out of design time that is necessary in any case.
  • Why I don't want to write software without TDD, ever again.
  • How to get started with TDD.
    • Greenfield development
    • Legacy development
    • Dependencies on other systems
      • Database
      • Real-time
      • Libraries with deep dependencies
      • SMTP (outgoing mail)
      • EJBs

Elsewhere

Books

iDIAcomputing: TestDrivenDevelopment (last edited 2014-04-25 01:38:28 by GeorgeDinwiddie)