TDD本质是单元测试
以前一直想实践TDD驱动开发,但是呢总感觉无从下手。现在呢随着对TDD的质疑,自己也动摇了。
TDD能给软件开发带来好处
1. 获得良好的单元接口
2. 自动化的测试套件
3. 驱动改善代码内部逻辑,避免Bug。
但是TDD也有不足,首先大家可能都有疑惑“为什么现在程序员需要花费一倍的人工来写单元测试代码”,而上面的这些好处都是可以通过其他的途径来获得的。
比如为了获得好的单元接口应该是从设计层面来考虑,代码内部逻辑质量可以通过一些白盒测试方法来完成或者使用Fxcop这种技术。
另外TDD是否能够获得软件架构,或者敏捷开发方法能否获得软件架构都是疑惑。
TDD是一种Just Do It的实践主义的做法,所以别指望能有全局,高屋建瓴的视角。