20 Benefits of TDD
Closed this issue · 1 comments
nelsonic commented
- Writing tests first require you to really consider what you want from the code
- Fast feedback
- Creates a detailed specification
- Reduced time in rework
- Less time spent in the debugger
- Identify the error/problem quickly
- Tells you whether your last change (or refactoring) has broken previously working code
- Allows the design to evolve and adapt to your changing understanding of the problem.
- Forces radical simplification of the code, you will only write code in response to the requirements of the tests.
- Forces you to write small classes focused on one thing.
- Creates SOLID code
- Cleans Interface
- Maintainable, Flexible, Easily Extensible
- 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.
- Shorten the development Time to Market
- Increase the programmer’s productivity
- Cut development costs
- Improves quality
- Reduces bugs
- 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
nelsonic commented
I wrote my own benefits list with explanations. Included link to this article in Bibliography.