`
jgsj
  • 浏览: 960503 次
文章分类
社区版块
存档分类
最新评论

黑盒测试之等价类划分法

 
阅读更多

等价类划分法是黑盒测试用例设计中一种重要常用的设计方法,它的基本思想是用一组有限的数据去代表近似无限的数据,达到能覆盖所有情况的目的。


定义:

等价类是指某个输入域的一个特定的子集合,在该子集合中各个输入数据对于揭露程序中的错误都是等效的,也就是说,如果用这个等价类中的代表值作为测试用例未发现程序错误,那么该类中其他数据(测试用例)也不会发现程序中的错误[1]。

有效等价类:输入满足程序输入的要求(来自规格说明书),通俗的说就是正确的输入。

无效等价类:输入不满足程序输入的要求,即异常输入,需要系统对此有一定的容错性。


示例:

问题:针对国内18位身份证号码验证,通过等价类划分法设计测试用例。

先了解一下18位身份证,拿370686199211204618来说:

37——所在省

06——所在地级市

86——所在县级市

19921120——出生年月日

461——顺序码,表示你在该地区与你同年同月同日生的人群中的序号,奇数表示男,偶数表示女

8——对前17进行加权求和并mod11,如果结果为10,用‘X’表示




等价类划分方法:

1)规定了输入要满足的条件,可划分一个满足条件的有效等价类和若干不满足其中任何一个条件的无效等价类,如上面的例子。

2)输入为枚举类型,如输入a要求取值{1,2,3},这时可划分3个有效等价类和一个a不是{1,2,3}的无效等价类。

3)对于输入条件为满足小于10大于5的整数a,有效等价类为5<a<10,无效等价类为a>=10和a<=5。

4)输入要求a=10,则有效等价类为a=10,无效等价类为a不等于10。


总结:

其实等价类划分法经常出现在我们的程序调bug中,如我们做一个用户登录,就要充分考虑可能的输入情况,并根据这些情况设计异常处理。可是要覆盖所有的情况并不是一件容易的事,我们往往还要借助于大量的特殊用例测试。等价类的划分并非只有一个答案,每个人的理解不同,只要能覆盖测试对象即可。


参考文献

[1] 朱少民. 软件测试方法和技术[M]. 第二版. 北京:清华大学出版社,2010:39


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics