微信号:grzlwx

介绍:光荣之路官方资讯

你设计的测试用例颗粒度多大合适?(一)

2015-08-26 09:08 光荣之路


在测试过程中,我们会经常遇到,实现一个功能有多个操作路径/步骤,比如:在一个库存管理系统中,需要修改一种类型箱子标签的打印格式,而打印这个箱子标签(唛头),涉及很多操作路径,比如有1、【海外制单-海外制单界面】,2、【海外制单-自动打印海外发货唛头(标签)】,3、【海外制单-批量打印海外发货唛头】,4、【海外制单-打印海外箱单(按箱)】,这4个路径都可以打印同一个模板,也就是预期结果一样,但是四个路径操作方式不一样,那么这个时候你是设计1条用例,还是4条用例呢?

还有一种情况是一个操作产生多个不同的结果,比如:点击登陆按钮后,显示成功登陆系统的弹窗提示,同时写入1条登陆日志到数据库表AAA中,同时向***系统发送1条接口日志,表示登陆成功。这个是时候,你是设计3个用例,还是1个用例呢?如果设计3个用例那么就是操作步骤跟预期结果一一对应的关系,如果设计1个用例就是1个操作步骤,多个结果(检查点)的关系。有时候我们就有些迷茫了,到底是设计少一些用例,还是设计多一些用例呢?

在我测试的时候,就经常遇到这种情况,我通常的处理是,如果这个需求场景特别多,需要设计很多用例,时间又少,那么我尽量精简测试用例,如果某个需求场景少,那么有多个路径的情况,我会设计成多个用例,这样不至于让人看起来用例数量太少,担心需求用例覆盖不全的感觉。其实在测试理论实践上这就是测试用例颗粒度的把握问题。

下面给大家讲解一下测试用例颗粒度的知识。

颗粒度与测试的关系

如果把测试用例设计得很细,照顾到每一个数据输入、每一个条件、每一个环境、每一个路径,那么测试用例的数量将是巨大的,虽然风险很小很小,但是测试效率会很低,并且测试执行没有思考的空间,可能使测试执行人员变得呆板(除非全部测试自动化),不需要创造力、思考。测试用例设计很粗,测试效率可能比较高,测试人员有一个发挥的空间,使测试更有趣,但这依赖于个人的责任感和能力,风险大得多。

颗粒度的大小取决与以下三点

1、“重要功能”、“特殊功能”颗粒密集度高,“通用功能”可以试用通用测试粒度,密集度应该可以大致界定。个人认为,假如你非要为了一个字体的样式而写了一大长串的测试用例,那么这个颗粒度就毫无意义了。

2、颗粒度的大小还取决与客户对“产品”的要求。测试有一个难题是测试的精度,或者说颗粒度的定义,不要说一个程序,就算是一个简单的登录都可以写出几乎无穷尽的测试用例,所以你需要指明功能、性能需求,使用环境等,并说明对缺陷容忍的限度。才好依据最终的需求来定义测试的颗粒度,也才好写测试用例,总之,客户的要
求越详细所得到的测试用例越准确。如果客户跟你说这个地方你必须仔仔细细的测试。那么我们在写测试用例的时候。这个颗粒度一定要小了。

3、一般功能颗粒密集度可能会根据项目或是时间来确定。如果时间充裕颗粒度可以适当小。

4、粒度取决于测试的种类,一般用验收测试,是项目测试中颗粒度比较大。系统测试颗粒度相对较小。

有效度量测试用例条件:

1、颗粒度可以跟代码行数对应:一般来说代码量越大,内部逻辑就越复杂,出现bug的的可能性也越高。对应的测试粒度也越小。

2、测试团队内部对粒度达成一致,适当把握颗粒度:明确测试用例编写的颗粒度,大家都有这种感觉,你写测试用例,你测试这个产品的时候,你十条测试用例就测试完了,有人写三十条,你就觉得奇怪,我觉得十条已经是局限了,怎么你能写到三十条,你去看他的用例,发现这也能算一条,这是组织内部测试用例颗粒度没有达成一致。

3、颗粒度要适合业务的需要:各公司测试用例设计的粒度不同,适合自己的需要,适合业务的需要即可,测试用例的数量统计方法,我觉得说明不了测试作得是否专业。

4、测试用例设计的覆盖率和有效性,才是说明测试是否专业的依据之一:对于进行工作量的统计还可以,不过用例还是不能简单的以数量来看,设计一个很简单的功能点的用例可能很容易,可能一天能设计十个这样的用例,但是对于一个相对复杂的功能,可能一天才能准备两个用例,光靠数量是说明不了问题的。

(未完待续)

(作者:郑树恒 来源:http://www.cnblogs.com/zhengshuheng/p/4749414.html)


 
            
 
            
 
            
 
           
 
           
 
           
 
           
 
           
 
           
 
           
 
           
 
           
 
           

一字一句当思来之不易,感谢作者,传播测试知识、技能与正能量!

光荣之路软件测试培训

官网:http://www.gloryroad.cn/

微信公众号:gloryroadtrain

性能测试QQ群:415987441
软件测试招聘QQ群: 203715128
自动化3群QQ: 371211499


 
光荣之路 更多文章 今天晚上的 linux 公开课- Awk 编程 7月28日(今天)晚上的 linux 公开课- shell编程 8月4日(今天)晚上的 linux 公开课- shell编程 9月1日(本周一)晚8点半,光荣之路Web自动化系列基础课—javascript第二讲 推荐本好书《与机器赛跑》
猜您喜欢 想成为优秀程序员必知的要点 Android Service进阶教程 全球架构师峰会,这次,我们就是来招人的! 答疑(上) | 你所不知道的TIME_WAIT和CLOSE_WAIT 如何运用 PageRank 抗击肺癌