dwyl/book

20 Benefits of TDD

Closed this issue · 1 comments

  1. Writing tests first require you to really consider what you want from the code
  2. Fast feedback
  3. Creates a detailed specification
  4. Reduced time in rework
  5. Less time spent in the debugger
  6. Identify the error/problem quickly
  7. Tells you whether your last change (or refactoring) has broken previously working code
  8. Allows the design to evolve and adapt to your changing understanding of the problem.
  9. Forces radical simplification of the code, you will only write code in response to the requirements of the tests.
  10. Forces you to write small classes focused on one thing.
  11. Creates SOLID code
  12. Cleans Interface
  13. Maintainable, Flexible, Easily Extensible
  14. The resulting Unit Tests are simple and act as documentation for the code. Since TDD use-cases are written as tests, other programmers can view the tests as usage examples of how the code is intended to work.
  15. Shorten the development Time to Market
  16. Increase the programmer’s productivity
  17. Cut development costs
  18. Improves quality
  19. Reduces bugs
  20. TDD gives programmers the confidence to change the larger architecture of an application when adding new functionality. Without the flexibility of TDD, developers frequently add new functionality by virtually bolting it to the existing application without true integration – clearly, this can cause problems down the road

Addapted from http://apiumtech.com/blog/20-benefits-of-test-driven-development/
Thanks to @sarahabimay @foundersandcoders

I wrote my own benefits list with explanations. Included link to this article in Bibliography.