为什么采用TDD
1、糟糕的代码质量
2、无法满足客户的需求
3、以及其他众所周知的原因
TDD要点:
1、测试-编码-重构的开发步骤
2、增量式开发
小到能够装进我们的脑袋
实现功能《==》调整设计
演进式设计
3、代码重构
重构是演进式开发的重要保障
4、保证软件正常执行
a、用自动化的工具来保护
b、快速获得反馈
TDD工具:
1、使用xUnit做单元测试
2、支持ATDD的测试框架
3、持续集成和构建
4、代码覆盖率检查
总结:
思路很明确,对于开发经验丰富的团队,的确具有非常高的效率,但是对于新人较多?架构和设计水平较差的团队如何实践?团队规模较大的情况如何协调和组织管理呢?按照商业库类似的思路吗?
这些问题都需要实践来检查。但是单元测试、持续集成和构建绝大部分团队都因该尝试的。
单元测试:绝大部分的错误、随机错误无法跟踪往往根源在于代码中的分支没有被有效的测试到,代码的改动对其他模块的影响无法采用自动化的方式进行检查,单元测试很好的提出了一种解决的思路。当设计或者代码在某个地方被错误的修改以后,将被单元测试检出,并报告。
持续构建和集成:降低了集成风险,并集成以后,通过构建服务器,进行自动的单元测试和基于脚本的功能测试。