尽管单元测试在需要 API 较强的大型项目上看起来很有效(例如开发 .Net 框架 API 等),但在小型项目上可能会显得有些过度。
自动化 TDD 方法什么时候是最佳选择,何时使用手动测试技术、记录错误、分类、修复等方式更好。
另一个问题——当我在微软担任测试员时,我们被强调要让开发人员和测试人员分别负责,并且这两个团队之间的紧张关系可以帮助创造出优秀的产品。但是,TDD 是否会打破这一想法,并且是否会导致开发人员无法彻底找到自己的错误?虽然这是自动化的,但似乎有许多编写测试的方法,而且对于一组给定的测试来说,“证明”质量是否可接受是值得怀疑的。