|Junit4入门之什么是TDD测试驱动开发?

|Junit4入门之什么是TDD测试驱动开发?

Junit4入门之什么是TDD测试驱动开发?


本章属于Junit单元测试学习之路上的附加知识 , 可选择性跳过 。
本章我们说明一种新的技术:TDD(测试驱动开发Test-Driven Development) , 没多少人知道它是什么含义 , 但单元测试就是实现它的一种方式 。

**百科:TDD是测试驱动开发(Test-Driven Development)**的英文简称 , 是敏捷开发的一种核心的技术理论 , 也是一种设计思路 。 TDD的原理是在开发功能代码之前 , 先编写单元测试UT的用例代码 , 通过测试代码来确定需要编写什么样子的产品代码 。
它并非一种技术 , 而是一种开发方式 , 在敏捷开发中较为常用 。 它的核心是在打代码前先写测试用例测试代码 , 写好测试代码后 , 才反过来写代码 , 让代码能够满足测试用例 。
简单来说 , 开发的整体流程如下:
1) 分析需求 , 把需求拆分为具体的任务 。
2) 从任务列表中取出一个任务 , 并对其编写测试用例 。
3) 由于没有实际的功能代码 , 测试代码基本不可能通过(红) 。
4) 编写开发对应的需求功能 , 尽快的让测试代码通过测试(绿) 。
5) 对代码进行重构 , 并保证测试通过(重构) 。
6) 重复以上步骤 。
TDD的好处我觉得也很明显 , 它绝对可以更好的帮助我们理解需求 , 通过TDD , 我们首先是站在测试或用户的角度审视产品功能 , 彻底的理解这次的需求 。 然后测试用例写好了后 , 我们在对代码重构和改动时 , 可以马上看到是否有影响到核心功能 , 并加以改动 。
这种开发方式 , 在我看来是比较特别的 , 代码都还没有 , 就先写测试用例测试代码 , 而且我们是开发又不是测试 , 怎么连测试用例都出来了?其实不管我们是不是测试 , 我们写的代码都是为了实现特定的功能 , 最后给用户使用的 , 而我们自己就是这个功能的第一个用户 。 你平时在使用APP或网页时 , 碰到有问题影响体验的地方是不是会很暴躁?在打单机游戏的时候是不是会找漏洞找攻略?只是现在我们需要将这种心态放在我们自己写的代码身上而已 , 当你拿给别人用的时候 , 至少要保证你自己作为第一个用户已经发现不了问题了 。
总结:
至此 , TDD测试驱动开发的基础学习就完成了 , 想学习后续更复杂的内容 , 可以关注我后续的文章 , 都已经发布在我的个人主页了 。
【|Junit4入门之什么是TDD测试驱动开发?】这个系列会连续更新很多章节 , 目的是彻底教会大家如何掌握JUnit4 , 还希望大家多多支持 , 点赞评论一下 。