TDD(测试驱动开发)

今天看到的新的有意思的名词,在此将其记录下来。
一. TDD是什么?
Test-Drive Development,是敏捷开发中的一项核心实践和技术。也是一种设计方法论,其基本思想就是:在明确要开发某个功能后,子啊开发功能代码之前,先编写测试代码,然后编写功能代码并用测试代码进行验证,如此循环直到完成全部功能的开发。
二. TDD的关注点:
需求,实现,设计TDD给我们明确的三个步骤,每个步骤关注一个方面:
红: 写一个失败的测试,它是对一个小需求的描述,只需要关心输入输出,这个时候根本不需要关心如何实现。
绿:专注在用最快的方式实现当前这个小需求,不用关心其他需求,也不管代码的质量怎么样。
重构:既不用思考需求,也没有实现的压力,只需要找出代码中的坏味道,并用一个手法消除它,让它变成整洁的代码。
TDD运行的基本流程:红 绿 重构写一个测试用例运行测试写刚好能够让测试通过的实现运行测试识别坏味道,用手法修改代码运行测试
【TDD(测试驱动开发)】TDD的好处:
覆盖完全的单元测试。
TDD之前要拆分任务,把一个大需求拆分成多个小需求,也可以拆出多个函数来。
单元测试应该只符合简单的几条原则:简单,只测试一个需求。速度快。可包含断言。可以重复执行。
https://www.ibm.com/developerworks/cn/linux/l-tdd/

    推荐阅读