黑盒测试用例设计案例

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

        

【解】

    第一步:确定测试策略。在本例中,对被测程序的功能有明确的要求,即:

    (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个测试用例,已能满足对被测程序图的完全覆盖,不需要再补充其他的测试用例。