THE BENEFITS OF TDD
When describing TDD to developers, development managers, and project managers who have never experienced it, I am usually met with skepticism. On paper, creating code does seem like a long and convoluted process. The benefits cannot be ignored, however:
- TDD ensures quality code from the start. Developers are encouraged to write only the code needed to make the test pass and thus fulfill the requirement. If a method has less code, it's only logical that the code has fewer opportunities for error.
- Whether by design or by coincidence, most TDD practitioners write code that follows the SOLID principals. These are a set of practices that help developers ensure they are writing quality software. While the tests generated by the practice of TDD are extremely valuable, the quality that results as a side-effect is an incredibly important benefit of TDD. The SOLID principals will be covered in Chapter 3.
- TDD ensures a high degree of fidelity between the code and the business requirements. If your requirements are written as tests, and your tests all pass, you can say with a high degree of confidence that your code meets the needs of the business.
- TDD encourages the creation of simpler, more focused libraries and APIs. TDD turns development a bit on its head, because the developer writing the interface to the library or API is also its first consumer. This gives you a new perspective on how the interface should be written, and you know instantly if the interface makes ...