I'd like to enhance my TDD knowledge and practice. What would you recommend to read?

+14  A: 

I would recomend Test Driven Development: By Example , and reviews on Amazon are good.


I would recommend Test Driven Development: By Example

Test-Driven Development: A Practical Guide is pretty good too.

+1  A: 

Extreme Programming Explained by Kent Beck. This will give you the basics about why pair-programming and writing tests upfront is the way to go.

+2  A: 

In addition the books listed, I have also read and enjoyed: -

But it would also be good for you to look at: -

As this book contains lots of interesting information on patterns used whilst refactoring tests.

+13  A: 

Michael Feather's Working Effectively with Legacy Code provides a wealth of great examples and ideas for how to make code testable. Ideal for those situations you will face when you find yoursel thinking "well, how on earth can I test this?"

Kent Beck's classic Test-Driven Development - By Example is a good read, quite witty and entertaining.

If you want something dry but staggeringly comprehensive, which also helps with muscle-building, consider Gerard Meszaros' xUnit Test Patterns - Refactoring Test Code.

Test-Driven Development in Microsoft .NET is an OK read, but somewhat wed to the DataSet style of doing data access, which seems a bit old school these days.

Ian Nelson
+3  A: 

David Astel's Test Driven Development: A practical guide is less dry than Kent Beck's Test Driven Development: By Example which actually isn't bad read. Both Kent and David are great speakers you may want to check some of their talks.

Kent's talk developer testing
David's video on BDD

John Nolan
+2  A: 

Test Driven Development: By Example and Extreme Programming Explained, both by Kent Beck, are IMHO the Bibles of TDD.

Chris B-C
+1  A: 


While not a book Kent Beck's IT Conversations talk about TDD, and other things, is really interesting.

cheers, Rob

Rob Wells
+8  A: 
  • Test Driven Development By Example : Kent Beck From THE MAN himself. Lucid, short, to the point - I wish I had his clarity when he works his magic with TDD.
  • Extreme Programming Adventures in C# : Ron Jeffries Fly on the wall look at how it works in the wild - Solo account though by Ron as he builds himself a thingmajig
  • Refactoring : Martin Fowler, Beck, et.all You will be seriously handicapped without this one. This is the third and most often forgotten leg of the TDD stool

I have Dave Astel's TDD a Practical guide on my To-Read shelf. Hear its good. This set should get you started, then you could progress to go into what makes good tests (Pragmatic Unit testing), continuous Integration... towards XP:Embrace Change.

+1  A: 

If you're a Java developer, I'd recommend Test Driven:TDD and Acceptance TDD for Java developers. Even if you don't come from Java background, it should be an interesting read.

+1  A: 

I recommend the Astels first, and then go back to the Beck for deeper understanding. Oh, and there's this in progress (sorry, couldn't resist).

Steve Freeman
+3  A: 

Growing Object-Oriented Software Guided by Tests

It is future classics like Test-driven development: by example

And new classics about refactoring: Refactoring to patterns

Andriy Plokhotnyuk