News Stay informed about the latest enterprise technology news and product updates.

The benefits of test-driven development

I’ve heard from many agile experts, including Elizabeth Woodward and Steffan Surdek, two of the authors of A Practical Guide to Distributed Scrum, about the importance of test-driven development (TDD).

Even though I had been a software developer for many years, I wasn’t entirely clear about the difference between unit testing and test-driven development. It seemed that the primary difference was that with TDD, the tests are written before the code, but I still was unclear as to why that would really make much difference.

I explored that question and others in a two-part interview with the author of Test-Driven JavaScript Development, Christian Johansen. In part one, Johansen describes the mechanics of TDD and how it compares to traditional unit testing. In AgileTechniques: Benefits of test-driven development – Part 2, we learn more about the benefits, which include the automated tests which provides documentation for the most current code. When asked about the time to write, test and maintain the test cases, Johansen said:

Writing tests takes time, for sure. However, writing tests also saves time by removing or vastly reducing other activities, such as manual or formal debugging and ad hoc bug fixing. TDD also has the ability of reducing the total time spent writing tests. When retrofitting unit tests onto a system, a programmer will likely occasionally encounter tightly coupled code that is either hard or impossible to test. Because TDD promotes the unit test to the front seat, testability is never an issue.

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.