分享

黑盒测试:等价类划分

 人生好比斗地主 2023-07-21 发布于重庆

一、等价类划分法

一个程序可以有多个输入,等价类划分就是将这些输入数据按照输入需求进行分类,将它们划分为若干个子集,这些子集即为等价类,在每个等价类中选择有代表性的数据设计测试用例。

这种方法类似于学生站队,男生站左边,女生站右边,老师站中间,这样就把师生群体划分成了三个等价类。

1、有效等价类。有效等价类就是有效值的集合,它们是符合程序要求、合理且有意义的输入数据。

2、无效等价类。无效等价类就是无效值的集合,它们是不符合程序要求、不合理或无意义的输入数据。

等价类划分原则:

( 1)如果程序要求输入值是一个有限区间的值,则可以将输入数据划分为一个有效等价类和两个无效等价类,有效等价类为指定的取值区间,两个无效等价类分别为有限区间两边的值。

(2)如果程序要求输入的值是一个“必须成立”的情况,则可以将输入数据划分为一个有效等价类和一个无效等价类。

( 3)如果程序要求输入数据是一组可能的值,或者要求输入值必须符合某个条件,则可以将输入数据划分一个有效等价类和一个无效等价类。

(4)如果在某一个等价类中,每个输入数据在程序中的处理方式都不相同,则应将该等价类划分成更小的等价类,并建立等价表。

同一个等价类中的数据发现程序缺陷的能力是相同的,如果使用等价类中的其中一个数据不能捕获缺陷,那么使用等价类中的其他数据也不能捕获缺陷,同样,如果等价类中的其中一个数据能够捕获缺陷,那么该等价类中的其他数据也能捕获缺陷,即等价类中的所有输入数据都是等效的。

设计测试用例:

●确定测试对象,保证非测试对象的正确性。

●为每个等价类规定一个唯一编号。

设计有效等价类的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,直到测试用例覆盖了所有的有效等价类。

设计无效等价类的测试用例,使其覆盖所有的无效等价类。

三角形问题的等价类划分实例

三角形问题是测试中广泛使用的一个经典案例,它要求输入3个正数a、b、c作为三角形的三条边,判断这3个数构成的是一般三角形、等边三角形、等腰三角形,还是无法构成三角形。

对该案例进行分析,程序要求输入3个数,并且是正数,在输入3个正数的基础上判断这三个数能否构成三角形,如果构成三角形再判断它构成的三角形是一般三角形、等腰三角形还是等边三角形,需要分步骤划分等价类。

(1)判断是否输入了3个数,可以将输入情况划分成1个有效等价类,4个无效等价类:

有效等价类:输入3个数。

无效等价类:输入0个数。

无效等价类:只输入1个数。

无效等价类:只输入2个数。

无效等价类:输入超过3个数。

(2)在输入3个数的基础上,判断三个数是否是正数,可以将输入情况划分为1个有效等价类,3个无效等价类:

有效等价类:三个数都是正数。

无效等价类:有一个数小于等于0。

无效等价类:有两个数小于等于0。

无效等价类:三个数都小于等于0。

(3)在输入三个正数的基础上,判断三个数是否能构成三角形,可以将输入情况划分为1个有效等价类和1个无效等价类:

有效等价类:任意两个数之和大于第三个数,a+b>c、a+c>b、b+c>a。

无效等价类:其中两个数之和小于等于第三个数。

(4)在三个数构成三角形的基础上,判断三个数是否能构成等腰三角形,可以将输入情况划分成1个有效等价类,因为是在构成三角形的基础进行划分,因此没有无效等价类。

有效等价类:其中有两个数相等,a=b|a=c | b=c。

无效等价类:三个数均不相等。

(5)在构成等腰三角形的基础上,判断这三个数能否构成等边三角形,只有1个有效等价类:

有效等价类:三个数相等,a=b=c。

三角形输入等价类表

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多