TDD最大的优点是从使用的角度而不是开发的角度来看待软件;能够生成更好的应用接口。
TDD的问题是直接切入到了软件或业务的细节。
所以我觉得一个软件还是需要先有一个整体的设计,对于具体的某一块功能可以基于TDD来开发;另外一个适用场景是整个软件的整体需求还比较模糊,可以使用TDD对主要业务需求建立原型;
单元测试与Scrum:
TDD的问题是直接切入到了软件或业务的细节。
所以我觉得一个软件还是需要先有一个整体的设计,对于具体的某一块功能可以基于TDD来开发;另外一个适用场景是整个软件的整体需求还比较模糊,可以使用TDD对主要业务需求建立原型;
单元测试与Scrum:
单元测试的优点是随着测试用例的累积,对于系统的修改有更多的质量保证,但是随着测试用例的增加,维护成本也是不断提升,特别是在scrum模型中,单元测试似乎很鸡肋了。