Tuesday, November 10, 2009

The Limits of Test Driven Design in Software Development (TDD)

Test-driven developmentImage via Wikipedia

Great example, shows the real promise and realities of Test Driven Design (TDD)
The Limites of Test Driven Design in Software Development (TDD): "
  • Complaint: TDDed tests are prescriptive
  • Response: This is a feature. Stating our assumptions up front exposes misunderstandings.
  • Complaint: Choosing tests is hard
  • Response: This is also a feature. It tells us that our design is bad or that we don't understand the problem.
  • Complaint: The code you TDDed was bad!
  • Response: TDD does not free us from thinking. TDD is not magic.
  • Complaint: It's too much typing.
  • Response: Typing is not the bottleneck.

Many complaints about TDD are complaints that it doesn't solve some problem. These are not problems with TDD – it's not supposed to solve every problem!

The new terminal at Barajas airport in Madrid,...Image via Wikipedia

Dynamic languages don't make coffee, continuous integration doesn't shine shoes, and TDD doesn't make code scale. It's simply the basis of a solid, disciplined process for building software – a beginning, not an end.

Reblog this post [with Zemanta]

No comments: