Every time I look or hear a TDD lecture, I always see the same examples. While its hard to go very deep in a 30-60 minutes lecture, the common used examples doesn't really reflects a real life scenario. How many in our daily job are coding a calculator?
When I'm asked (which happens 90% of the time) if I have more "real life" example I redirect to the TDD Problem Site:
The aim of this site is to contain a growing collection of software problems well-suited for the TDD-beginner and apprentice to learn Test-Driven Development through problem solving.
and the real cool good thing about those problems are that they follow the following rules:
- they are real-world, not just toys
- they are targeted towards learning TDD (that is: they are small and easy enough to work out in say half a day)
- they don't involve any of the harder-to-test application development areas: GUI, database or file I/O. (since those topics are considered too hard for the TDD-beginner)
- they have been solved by a TDD-practitioner previously, proving their appropriateness for this site
If you want to practice doing TDD and feels that its too hard to do on your production system. These examples are a great place to start practicing real life TDD.