Introduction to Test Driven Development


Details
http://photos2.meetupstatic.com/photos/event/1/5/4/600_442020340.jpeg
From http://agiledata.org/essays/tdd.html :
Test-driven development (TDD) (Beck 2003 (http://www.amazon.com/exec/obidos/ASIN/0321146530/ambysoftinc); Astels 2003 (http://www.amazon.com/exec/obidos/ASIN/0131016490/ambysoftinc)), is an evolutionary approach to development which combines test-first development where you write a test before you write just enough production code to fulfill that test and refactoring (http://www.agiledata.org/essays/databaseRefactoring.html).
What is the primary goal of TDD?
One view is the goal of TDD is specification and not validation (Martin, Newkirk, and Kess 2003 (http://www.amazon.com/exec/obidos/ASIN/0135974445/ambysoftinc)). In other words, it’s one way to think through your requirements or design before your write your functional code (implying that TDD is both an important agile requirements (http://www.agilemodeling.com/essays/agileRequirements.htm) and agile design (http://www.agilemodeling.com/essays/agileDesign.htm) technique). Another view is that TDD is a programming technique. As Ron Jeffries likes to say, the goal of TDD is to write clean code that works. I think that there is merit in both arguments, although I lean towards the specification view, but I leave it for you to decide.

Introduction to Test Driven Development