Differences between revisions 20 and 21
Deletions are marked like this. Additions are marked like this.
Line 35: Line 35:
 * Uncle Bob Martin and Bob Koss' [http://www.objectmentor.com/resources/articles/xpepisode.htm bowling game example].

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

Details

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