- The TDD test created will be a simple unit test that will affect a very small piece of code.
- Once the unit test has been created it needs to execute and fail.
- The developer will then write code to get the test to pass.
- The developer will refactor code to make it simpler and more efficient.
- The developer will repeat the process and add more tests over a period of time.
- There is a significant number of defects that are reduced provided this approach is used consistently
- The additional effort spend with save significant time on the downstream teams since less time will be spent fixing and retesting defects
- Code design improves
- Forgetting to run the tests
- writing too many tests
- writing tests that are too detailed
- writing tests that are not effective
- only used by some of the developers on the team
- tests are not maintained over a period of time
- new team members don’t use previously created tests