About TDD

TDD (Test-Driven Development)

一种新型开发方法,在编写功能代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。
好处:
有助于编写简介可用和高质量的代码,并加速开发过程。
分类:
广义:ATDD , BDD
侠义:UTDD
本文探讨侠义UTDD(单元测试驱动开发)。

TDD编码方式

  1. 分解任务,分离关注点
  2. 列example,用实例化需求,澄清需求细节
  3. 写测试,只关注需求,程序输入输出,不关心中间过程
  4. 写实现,不考虑别的需求,用最简单的方式满足当前小需求即可
  5. 重构
  6. 写完,手动测试,有问题补个用例,修复
  7. 转测试,小问题,补用例,修复
  8. 代码整洁用例齐全,提交

好处

效率:

  • 提前确认需求,减少开发中的中断和等待
  • 小步快走,节省调试时间

质量:

  • 高测试覆盖率
  • 自动回归测试

如何做TDD

  • 做设计
    步骤:
    1.快速新增一个测试
    1. 运行所有测试,发现新增的测试不能通过
    2. 做一些小改动,尽快让测试程序可运行,为此可以在程序中使用一些不合情理方法(复制粘贴代码,直接返回固定值之类的方式)
    3. 运行所有测试,并且全部通过
    4. 重构代码,消除重复设计,优化设计结构
  • 不做设计

练习题目

FIZZBUZZ:
写一个程序打印1到100这些数字,遇到3的倍数,打印“Fizz”替代数字,5的倍数用“Buzz”代替,既是3的倍数又是5的倍数,打印“FizzBuzz”。

题解:

About TDD_第1张图片
image.png

如何学习TDD

你可能感兴趣的:(About TDD)