浅谈测试驱动开发(Test-Driven Development)

目的

讲解什么是TDD。

简介

简单的说,测试驱动开发就是先将需求转换为具体的测试用例再进行开发,然后将开发的程序通过测试用例去验证。

内容

测试驱动开发流程

  1. 添加测试用例
  2. 运行所有测试用例,查看新增测试用例是否失败
  3. 编写代码
  4. 运行测试用例
  5. 重构代码

详细内容

  1. 添加测试用例
    在增加新的特征(feature)之前,需要先编写测试用例。测试用例的编写要求开发者首先需要很清楚的了解当前的条件和需求,在正确理解需求的情况下,编写正常和异常的用例。保持测试用例的小粒度可以减少debugging的工作量,可以更好的定位错误,并且能够让开发者更好的阅读和维护。

  2. 运行所有测试用例,查看新增测试用例是否失败
    因为没有具体的实现,所以是为了检查新增的测试用例是失败的,并且其他测试用例都是正常的。

  3. 编写代码
    用最简单粗暴的方式编写代码,只需要让测试用例通过即可。此阶段并不要求编写的代码足够好。

  4. 运行测试用例
    如果所有的测试用例通过,可说明当前的代码能够满足当前的需求,可以让开发者自信的进行下一步开发。

  5. 重构代码
    当前阶段需要对代码进行封装和规范命名,特别是去除重复的代码,提高代码的可读性和可维护性。边重构边跑测试用例,保证代码每次重构都可以通过测试。

参考资料
Test-Driven Development