- 假设我们意识到 TDD 的价值为时已晚。项目已经成熟,很多客户开始使用它。
- 假设使用的自动化测试主要是功能/系统测试,并且有大量的自动化 GUI 测试。
- 假设我们有新的功能请求和新的错误报告(!)。如此大的发展仍在继续。
- 请注意,已经有很多业务对象没有或很少进行单元测试。
- 它们之间有太多的协作/关系,这又只能通过更高级别的功能/系统测试来测试。本身没有集成测试。
- 具有大量表、视图等的大型数据库。仅仅为了实例化单个业务对象,就已经进行了大量的数据库往返。
我们如何在这个阶段引入 TDD?
嘲笑似乎是要走的路。但是我们在这里需要做的嘲笑似乎太多了。听起来需要为适用于现有东西(BO、数据库等)的模拟系统开发复杂的基础设施。
这是否意味着只有从头开始时 TDD 才是合适的方法?我很想知道在已经成熟的产品中引入 TDD 的可行策略。