开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

查看: 239|回复: 2

单元测试框架进行自动化测试

[复制链接]  [移动端链接]
3偶尔光临
265/300
排名
10734
昨日变化
25

70

主题

81

帖子

265

积分

Rank: 3Rank: 3Rank: 3

UID
142658
好友
0
蛮牛币
622
威望
0
注册时间
2016-3-21
在线时间
64 小时
最后登录
2017-3-1
发表于 2016-12-14 16:41:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x

到底单元测试是做什么用的?单元测试是一种测试,它不是代码的一部分;单元测试是最低层级的测试,它只保证函数的可靠性,不保证其它;单元测试应该能保证每一个函数的可靠性。

单元测试是一种测试,所以,我们应该以一种测试的眼光去面对它——我们要测试正常情况,边界条件,要对它的测试目标——函数做黑盒分析,白盒分析,选择合适的测试数据,构建测试场景和测试环境——总之,一切测试应该做的事情,单元测试都不应该省略。


理论上来说,单元测试和其他测试一样,也是可以纯手工完成的:我们可以写一段某函数的测试代码,然后输入我们的测试输入,观察测试输出,并跟期望值做比较——事实上这种人工测试,写了一段时间代码的人应该都不会陌生。但是,单元测试有一点特殊性,就是在一个系统中,函数会非常非常的多,变化也比软件的功能频繁的多。面对这么多的函数,这么频繁的变化,纯手工测试是不现实的。所以,我们必须要引入单元测试框架进行自动化测试。注意,这里的单元测试框架只是实现自动化测试的一个手段,对单元测试本身并不产生任何影响——没有单元测试框架,单元测试一样也是可以进行的,只是会痛苦很多。


单元测试框架引入的目的只是为了自动化单元测试,简化单元测试的步骤。所以,对于测试代码的编写,重点应该是:如何搭建测试环境、测试场景;如何选择测试用例;如何校验测试结果。对于测试代码本身,应该尽可能的简单,能不要使用技巧尽量不要使用,目的在于测试,如果测试本身过于复杂,我们不能保证测试的正确性,测试这个工作就白做了。


刚刚提到单元测试是对函数的测试,因此,测试必须是以函数为单位的。每个函数应该拥有自己单独的一个测试,这个测试中,应该针各个方面进行完善的测试,这样我们才能保证这个函数的功能是如我们所愿的。但是单元测试不需要负责函数的组合工作情况。那应该是功能测试的工作,而不是单元测试的工作。如做app功能测试,这个功能测试就是在假定所有函数都工作正常的基础之上,对这些函数组合形成的功能模块进行测试。这种测试,视情况而定,可以使用单元测试框架,也可以使用其他自动化测试方法或者甚至是使用纯人工测试。



TestBird - 手游和App自动化测试平台


回复

使用道具 举报

6蛮牛粉丝
1016/1500
排名
2389
昨日变化
5

0

主题

285

帖子

1016

积分

Rank: 6Rank: 6Rank: 6

UID
4913
好友
0
蛮牛币
1395
威望
0
注册时间
2013-10-2
在线时间
333 小时
最后登录
2017-2-23
QQ
发表于 2016-12-17 20:19:45 | 显示全部楼层
谢谢楼主分享。。。。

回复

使用道具 举报

3偶尔光临
244/300
排名
8841
昨日变化
257

0

主题

122

帖子

244

积分

Rank: 3Rank: 3Rank: 3

UID
180857
好友
1
蛮牛币
183
威望
0
注册时间
2016-11-4
在线时间
50 小时
最后登录
2017-3-1
发表于 2017-1-14 22:31:12 | 显示全部楼层
mark,拿来学习学习

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 返回顶部 返回列表