51Testing软件测试论坛

标题: 黑盒测试用例设计案例 [打印本页]

作者: andre    时间: 2007-9-5 11:18
标题: 黑盒测试用例设计案例
初出茅庐,不知道以前有没有同样的帖子,但自我感觉挺基础的,所以拿出来现现眼


【例】假设现有以下的三角形分类程序。该程序的功能是,读入代表三角形边长的3个整数,判定它们能否组成三角形。如果能够,则输出三角形是等边、等腰或任意三角形的分类信息。该程序的流程图和程序图参见附件。为以上的三角形分类程序设计一组测试用例。

    【解】
    第一步:确定测试策略。在本例中,对被测程序的功能有明确的要求,即:
    (1)判断能否组成三角形;
    (2)识别等边三角形;
    (3)识别等腰三角形;
    (4)识别任意三角形。因此可首先用黑盒法设计测试用例,然后用白盒法验证其完整性,必要时再进行补充。
    第二步:根据本例的实际情况,在黑盒法中首先可用等价分类法划分输入的等价类,然后用边界值分析法和猜错法作补充。
    等价分类法:
    有效等价类
    输入3个正整数:
    (1)3数相等
    (2)3数中有2个数相等,比如AB相等
    (3)3数中有2个数相等,比如BC相等
    (4)3数中有2个数相等,比如AC相等
  (5)3数均不相等
    (6)2数之和不大于第3数,比如最大数是A
    (7)2数之和不大于第3数,比如最大数是B
    (8)2数之和不大于第3数,比如最大数是C
    无效等价类:
    (9)含有零数据
    (10)含有负整数
    (11)少于3个整数
    (12)含有非整数
    (13)含有非数字符
    边界值法:
    (14)2数之和等于第3数
    猜错法:
    (15)输入3个零
    (16)输入3个负数
    第三步:提出一组初步的测试用例,如下表所示:


  
    第四步:用白盒法验证第三步产生的测试用例的充分性。结果表明,上表中的前8个测试用例,已能满足对被测程序图的完全覆盖,不需要再补充其他的测试用例。


作者: mengxiang2008    时间: 2010-6-29 17:26
xue xi le
作者: 少爷贼强    时间: 2010-6-30 00:07
第6,7,8条case,这三个都不能构成三角形,为什么它们也是有效等价类?麻烦解答下
作者: 千里    时间: 2010-7-3 13:15
见过,我觉得应该了解这个题目,很重要的例题。
作者: Jackc    时间: 2010-7-13 14:13
原帖由 少爷贼强 于 2010-6-30 00:07 发表
第6,7,8条case,这三个都不能构成三角形,为什么它们也是有效等价类?麻烦解答下



这位童鞋的问题很好,相似的问题有;2,3,4用例为什么不等价类?

这里主要涉及的是等价类用例健壮性方面的东东。

你可以参考这个帖子:
http://bbs.51testing.com/viewthr ... hlight=%B5%C8%BC%DB

总之,在黑盒中,将2,3,4或6,7,8等价为两个用例是没有问题;而将它们分开也是没问题。
唯一的区别只是在设计用例时,对用例粒度的把握不同的。

所以,当测试人员对三个整数作无差别等价时,就可以合并用例。而测试人员将三个整数分别作独立测试元素处理时,则出现LZ设计的用例。


另外有一点需要注意:上面说的都是黑盒内容,而这个实例是可以作为“路径法”的代码覆盖测试实例的。这样的话,假如等价2,3,4或6,7,8后,部分if分支就不能覆盖到了,所以不能等价。
关于路径覆盖的内容,可以使用论坛搜索找到相关的文章。

[ 本帖最后由 Jackc 于 2010-7-13 14:30 编辑 ]




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2