我有一个项目,我一直在使用TDD和单元测试作为"软件vises".本质上,我将需求转换为测试,以验证代码是否符合要求.我很少需要返回并编辑单元测试,而不是重点:只应修改"真实"代码.目前,有900个单元测试.
现在黄金所有者已经改变了一些要求.由于前者的要求在现有的单元测试中是如此彻底的编码,似乎改变它们以符合新的要求将会引起灾难.您如何调整单元测试套件来处理这种变化?
根据定义,单元测试不会复制应用程序的要求.它们描述了模块的要求.这是一个区别,即使在具有不同要求的应用程序中也可以重复使用该模块,或者根本不使用该模块.因此,不断变化的要求不会影响实际的单元测试(除了您必须为新模块编写新模块或放弃旧模块,不再需要更改需求的模块).
另一方面:验收测试处理应用程序级别的要求.所以我想你谈论验收测试.
我会将新要求添加为新的验收测试.但对于旧的,你必须仔细研究它们,如何通过改变的要求使它们失效.