Test-Driven Development (TDD) - Main advantages
• Software design. Strong focus on interface definition, expected behavior,
specifications, and requirements before working at lower level
• Maintainability/Debugging Cost Small, incremental changes allow you to catch
bugs as they are introduced. Later refactoring or the introduction of new features
still rely on well-defined tests
• Understandable behavior. New user can learn how the system works and its
properties from the tests
• Increase confidence. Developers are more confident that their code will work as
intended because it has been extensively tested
• Faster development. Incremental changes, high confidence, and automation
make it easy to move through different functionalities or enhance existing ones
74/82