› Limitations
As with any other software process, TDD has some limitations which makes it hard to adapt in some types of software projects. Here I list some of these limitations.
-
Implementing a feature in TDD takes a relatively longer time than implementing the same feature in other processes because of all the testing overhead that needs to go around it. While this way of testing could save time eventually, (no last minute integration problems, the software is always working, etc.) it is not clear how much time it saves.
-
It takes time for developers who have no experience in TDD to adapt to this approach of software development. For instance, there are new tools related with automated testing that they need to learn.
-
For large projects, it has been shown that it is difficult to maintain the large numbers of tests associated with the software. Some tests may take long time to run which make developers less encouraged to run them. Although TDD requires developers to create tests that can run fast, this requirement is hard to keep all the time.