首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
测试驱动开发基础
时间:
2016-05-22 18:07:09
阅读:
152
评论:
0
收藏:
0
[点我收藏+]
标签:
以下是我个人对测试驱动开发的一点理解,如有不足请指正
测试驱动开发的大致步骤是
写一个测试(基本上无法运行甚至编译)
小改动使之能够编译运行(建立需要调用的函数存根,不实现,或伪实现——直接返回定值)
逐渐使代码一般化(用变量代替常量定值)
通过改动,消除重复设计(提取为公用的变量或函数)
具体每一步我的理解如下(对应上述4步骤)
写测试时,只从主函数视角考虑,不考虑我要 调用的函数是否存在,而是直接写出我要调用XX函数,得到XXX返回值等
第1步的代码必然报错,此时针对报错进行修改,补上对应的函数声明,留空函数体,必要时补上一个固定返回值
第2步的改动后,主函数可以通过编译并运行,但这里面的值计算记过都是写死的(伪实现),此时应该将这些写死的定值换成变量,并加入需求的计算过程,变为”真实现“
这个过程不能急,每次修改一部分伪实现,然后测试
如果尝试进行真实现的时候发现测试不通过,则将没把握的部分换回伪实现,重新测试
上述两种实现的过程反复重复,直到消除了各种伪实现
第3步的改动后,可以认为这个测试所对应的开发已经全部完成,剩下的是优化问题,在逐步将伪实现变为真实现的过程中会留下一些重复设计,即某些代码段或者数值在多个地方反复出现,此时可以将之提取为公共的变量或函数,从而优化结构
注意!每次小改动都要运行测试,如果出问题就回退
心得
可以看到整个过程需要反复运行测试,如果一个测试运行很久,那么必然导致开发速度很低,因此可以编写不同层面的测试,针对不同的大功能、小功能分别编写,而非每次都运行涉及最多的那个大测试
编写测试的时候必然会花费一点时间,但是一旦编写完成,逐步改动的时候,以及后续维护的时候,都可以复用遗留下来的测试,因此从大局来看是值得的
测试驱动开发基础
标签:
原文地址:http://www.cnblogs.com/cyf333333/p/5517157.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!