Test-Driven Development is a powerful way for developers to approach both the design and implementation of systems. However, organizations that embrace TDD typically run into difficulties over time, once the test suites become large.
Here are two challenges they face.
These problems are so commonplace that many have concluded that TDD, while a good way to start a new project, is not sustainable over the long term. As the suite of tests grows it eventually represents such a maintenance and validation burden that the process must be abandoned.
This does not have to be the case and should not be allowed to happen. When test suites become unsustainable it is because developers have not been properly trained in how to create them. This involves: