我是一个开发团队的成员,该团队与许多其他团队一起维护和改进已使用了至少15年的应用程序。最初构建和设计TDD时闻所未闻。
该应用程序相当稳定,我们很少遇到显示错误,但是我们每周平均会发现大约一两个错误,这严重降低了服务质量。这些错误要花很长时间才能找到并修复,这在很大程度上是因为手指指向的,而我们仅有的测试是接口测试。因为在修复该错误之前浪费了很多时间,所以我和另一个开发人员计划提出测试驱动开发。即将进行新的大修,我们希望在新模块上完成几乎完整的单元测试,我们还计划建议为我们必须更改的任何遗留代码(例如,错误修复或功能实现)构建测试单元。 ),但不要花时间为尚未引起问题的代码开发测试用例。
对我来说,这似乎是合理的。本月,我们修复了一个错误,该错误花费了两周的时间,但是如果完成了单元测试,则可以在部署之前发现该错误。但是对于我们的经理们来说,他们好像要花更多的钱。
我如何说服我们的客户他们想花钱进行单元测试和测试驱动的开发?是否有任何研究表明单元测试的投资回报率?