Test Driven Development is an Agile software development design technique used to produce quality software.
First, a developer writes a failing unit test to define a desired function. Then code is written to pass the failing test. Finally, the code refactored to meet acceptable coding standards.
TDD requires a disciplined development team to implement properly.
The advantages of test driven development are very significant:
- The design is simple.
- The technique elicits confidence in the code.
- Frequent regression testing ensures nothing breaks as new tests and code are added.
- Programmer productivity increases.
- Code defects are limited.
- Defects are caught early, reducing development time and avoiding excessive debugging.
- The resulting code is modular, flexible, and extendable.
- TDD works with legacy code
- Complexity is handled methodically so programmers never getting stuck.
If you're considering using Agile techniques for your organization's software development, we'll get you on the right track fast. We have an Agile software development team ready to take over your coding, or to help your developers learn TDD in a supportive environment.