Differences between revisions 24 and 25
Deletions are marked like this. Additions are marked like this.
Line 36: Line 36:
 * Justin Searls on [[http://blog.testdouble.com/posts/2014-01-25-the-failures-of-intro-to-tdd.html|the way he now teaches TDD]].

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 B00005JM5E)

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

  • Test Driven Development: By Example (0321146530) by Kent Beck

    • Demonstrates TDD using the Money example in Java.
  • Test Driven Development: A Practical Guide (0131016490) by Dave Astels

  • JUnit Recipes: Practical Methods for Programmer Testing (1932394230) by J.B. Rainsberger

  • Test Driven: TDD and Acceptance TDD for Java Developers (1932394850) by Lasse Koskela

  • xUnit Test Patterns: Refactoring Test Code (0131495054) by Gerard Meszaros

  • Growing Object-Oriented Software, Guided by Tests (0321503627) by Steve Freeman and Nat Pryce

  • Test Driven Development for Embedded C (193435662X) by James Grenning

Details

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