TDD 是一种分析需求并进行任务分解,并进行小步前进
软件开发最重要的东西:质量。质量贯穿软件生命周期的所有阶段,TDD主要在开发阶段
根据: 输入? 输出? 逻辑? 去拆分task
1 TDD解读
TASK Driven Develoment
TEST Driven Develoment
TEST Driven Design
2 TASKING特性
用户前瞻性
增量浮现性
迭代变更性
操作case:
FIZZBUZZ
3 TESTING
编写测试 -- 如期失败 -- 实现 --测试通过 -- 重构?-- 测试 -- 重构
红(测试不过) - 绿(实现,测试过) - 蓝(重构)
4 三条军规
- 没有测试之前不要写任何功能代码
- 一次只写一个刚好失败的测试,作为新功能的描述
- 不写任何多余的产品代码,让它刚好能让失败的测试通过就好
花合理时间抓出大多数
bug,好过穷尽一生抓出所有bug
了解边界值和等价类