Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Presentation: Steve Freeman about Test Driven Development

Presentation: Steve Freeman about Test Driven Development

In this presentation filmed during QCon 2007, Steve Freeman, an independent consultant, talks about TDD, why is it helpful and gives an example on doing it. Steve says a team has used TDD during a non-trivial project, reducing the software defects by 50% compared with an ad-hoc unit testing approach, and completed the product in time. A research paper shows that students who write tests first end up writing more code and being more productive. TDD is also credited for reducing product delivery time and raises the developers' confidence in their work.

TDD is a software development method. The developer starts with a set of features to be implemented, and works progressively in small steps, testing every step he is making. This gives him confidence that he is doing the right thing, and also knowledge and complete control over the code. He is no longer afraid to introduce a change in the code because the tests will tell him right away if he broke the program or not. TDD is repetitive going through the following iterations: the test result is firstly red (not OK), then is made green (OK), then the code is refactored as desired making sure the test stays green.

TDD is also a design technique according to Steve, because the developer makes design decisions while writing the code and its corresponding tests. The final code should reflect the initial domain set of features.

The entire presentation is 54 minutes long.

Rate this Article