黑盒测试——等价类法

136 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第25天,点击查看活动详情

前面我们学习了软件测试的方法之一,黑盒测试,其中,当我们在进行黑盒测试中还会用到另一个测试方法等价类法,以下内容就对黑盒测试——等价类法,进行介绍。

黑盒测试时完全不考虑程序内部的结构和处理过程,只按照需求规格说明书的规定来检查程序是否符合它的功能要求,又称为功能测试。

黑盒测试-等价类法

把程序的输入域划分为若干个部分,每个部分选择少量代表性数据作测试用例。

有效等价类 对程序有意义的,合理的输入数据集合

无效等价类 对程序无意义的,不合理的输入数据集合

等价类的划分在很大程度上依靠的是测试人员的经验,下面给出几条基本原则:

(1)如果输入条件规定了取值范围,则可划分出一个有效的等价类(输入值在此范围内)和两个无效的等价类(输入值小于最小值、输入值大于最大值)。 例:输入值是学生成绩,范围是0-100 

image.png

(2)如果输入条件规定了输入数据的个数,则可相应地划分出一个有效的等价类(输入数据的个数等于给定的个数要求)和两个无效的等价类(输入数据的个数少于给定的个数要求、输入数据的个数多于给定的个数要求)。

(3)如果规定了输入数据是一组值,而且程序要对每个输入值分别进行处理。可为每一个输入值确立一个有效等价类此外再针对这组确立一个无效等价类,它应是所有不允许输入值的集合。

例:在教师分房方案中规定对教授、副教授、讲师和助教分别计算分数,做相应的处理。因此可以确定4个有效等价类为教授、 副教授、讲师和助教,以及1个无效等价类它应是所有不符合以上身份的人员的输入值的集合。

(4)如果输入条件规定了输入数据必须遵循的规则,则可以划分一个有效的等价类(符合规则)和若干个无效的等价类(从各种角度违反规则)。

例如:在C 语言中规定了“一个语句必须以分号‘;’作为结束”,这时,可以确定一个有效等价类,以 “;”结束,而若干个无效等价类应 以“:,、” 等。

划分出等价类后,根据以下原则设计测试用例:

(1)设计一个新的测试用例,使它能包含尽可能多的尚未被覆盖的有效等价类。重复这一过程,直到所有的有效等价类都被覆盖。

(2)设计一个新的测试用例,使它包含一个尚未被覆盖的一个无效等价类。重复这一过程,直到所有的无效等价类都被覆盖。

关于黑盒测试——等价类法,我们已经做了详细介绍,进行黑盒测试还有很多种方法,后续我们还会学习黑盒测试的其他方法。