一个实例搞懂TDD

来源:平山

链接:http://blog.51cto.com/2681882/2120480

一 TDD是什么?

TDD(Test-Driven Development)是敏捷开发中的一项核心实践和技术,也是一种设计方法论,其基本思想是:在明确要开发某个功能后,在开发功能代码之前,先编写测试代码,然后编写功能代码并用测试代码进行验证,如此循环直到完成全部功能的开发。est-Driven Development)是敏捷开发中的一项核心实践和技术,也是一种设计方法论,其基本思想是:在明确要开发某个功能后,在开发功能代码之前,先编写测试代码,然后编写功能代码并用测试代码进行验证,如此循环直到完成全部功能的开发。

二 TDD实战方法举例

为了弄清楚TDD的思想和原理,现假设一个需求场景,并运用TDD的方法实现该需求。

需求描述:

实现一个检查给定数字是否为质数的函数(is_prime)

利用TDD的思想实现该需求的步骤如下:

分析需求:

接收一个参数,且为数值类型;

判断该数值是否为质数,返回bool值;

设计测试用例(TDD的核心:开发功能代码前先实现测试代码):

开发测试代码:

开发功能代码(使用测试代码验证功能代码,驱动功能完善)

使用测试代码对V1版本的功能代码进行测试:

测试结果展示用例#3检查出功能实现存在缺陷,如下:

因测试用例#3发现缺陷,需要修复该缺陷,修复后的实现版本标记为V2,如下:

再次使用测试代码对V2版本的功能代码进行测试:

测试结果展示用例#5检查出功能实现存在缺陷:

因测试用例#5发现缺陷,需要修复该缺陷,修复后的实现版本标记为V3,如下:

再次使用测试代码对V3版本的功能代码进行测试:

本次测试用例全部通过,功能实现在有限用例的验证下已符合需求。

总结

本文通过一个实例对TDD(测试驱动开发)的思想进行了讲解,TDD的基本思想是开发功能代码前,先开发测试代码,并用测试代码验证功能实现是否满足需求或存在缺陷,在测试代码的驱动下优化功能代码的开发;TDD的实施手段是单元测试,通过上述实例,也能清楚认识到,在每次版本改动后,使用测试用例验证了版本修复情况,同时也验证了本次改动是否引起回归问题。由此,TDD中测试代码的作用:在被测代码发生改动后,执行单元测试用例即可验证本次改动是否对函数原有功能造成影响,是未来函数重构的信心保证。

看完本文有收获?请转发分享给更多人

关注 【小蟒社区】,一起学Python

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180826G0X1JZ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券