TDD 二三事

659 阅读1分钟

TDD 是一种分析需求并进行任务分解,并进行小步前进

软件开发最重要的东西:质量。质量贯穿软件生命周期的所有阶段,TDD主要在开发阶段

根据: 输入? 输出? 逻辑? 去拆分task

1 TDD解读

TASK Driven Develoment
TEST Driven Develoment
TEST Driven Design

2 TASKING特性

用户前瞻性 增量浮现性 迭代变更性 操作case:
FIZZBUZZ

3 TESTING

编写测试 -- 如期失败 -- 实现 --测试通过 -- 重构?-- 测试 -- 重构

红(测试不过) - 绿(实现,测试过) - 蓝(重构)

4 三条军规

  • 没有测试之前不要写任何功能代码
  • 一次只写一个刚好失败的测试,作为新功能的描述
  • 不写任何多余的产品代码,让它刚好能让失败的测试通过就好

花合理时间抓出大多数 bug,好过穷尽一生抓出所有 bug

了解边界值和等价类