作者:sdauilk_299 | 来源:互联网 | 2023-09-02 14:33
03等价类划分1等价类划分的定义***等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,具有等价特性。一个等价类或等价类划分是指测试相同目标或
03等价类划分
1等价类划分的定义***
- 等价类是指某个输入域的子集合。在该子集合 中,各个输入数据对于揭露程序中的错误都是等效的,具有等价特性。
- 一个等价类或等价类划分是指测试相同目标或 者暴露相同软件缺陷的一组测试用例
- 等价类测试方法是把所有可能的输入数据,即 程序的输入域划分成若干部分,然后从每一部 分中选取少数有代表性的数据作为测试用例
- 对测试的意义:完备性和无冗余性
2等价类的类型划分***
等价类划分可有两种不同的情况:有效等价类和无效等价类
- 有效等价类
- 是指对于程序的需求规格说明来说是合理的,有意义的输入数据构成 的集合。
- 利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性 能(确认过程)。 ***
- 无效等价类(与有效等价类的定义恰巧相反)
- 是指对于程序的需求规格说明来说是不合理的,无意义的输入数据构 成的集合。
- 利用无效等价类可检验程序对于无效数据的异常处理能力(检验过 程)。 ***
设计测试用例时,要同时考虑这两种等价类。因为,软件不仅要能接 收合理的数据,也要能经受意外的考验。这样的测试才能确保软件具 有更高的可靠性。
3等价类测试用例的类别
4健壮性测试***
健壮性有两层含义:容错能力和恢复能力
容错性测试通常构造一些不合理的输入来引诱软件错误
例如:
- 输入错误的数据类型:如“猴”年“马”月
- 输入定义域之外的数值
- 粗暴一些方式俗称“大猩猩”测试法。除了不能拳打脚踢嘴咬之外,什么招术都可以使出来。例如在测试客户机服务器模式的软件时,把网线拔掉,造成通信异常中断。
恢复测试重点考察以下几项:***
- 系统能否重新运行
- 有无重要的数据丢失
- 是否毁坏了其他相关的软件硬件
5弱一般等价类
- 遵循单缺陷原则,要求用例覆盖每一个变量的 一种取值即可,取值为有效值。
6弱健壮等价类
- 在弱一般等价类的基础上,增加取值为无效值的情况
- 对于有效输入,使用每个有效值类的一个值
- 对于无效输入,测试用例将拥有一个无效值, 并保持其余的值是有效的
7强一般等价类
- 遵循多缺陷原则,要求用例覆盖每个变量的每种取值之间的笛卡尔乘积,即所有变量所有取值的所有组合,取值为有效值
- 覆盖所有的等价类
- 有可能的输入组合中的一个
8强健壮等价类
- 在强一般等价类的基础上,增加取值为无效值 的情况
- “健壮”考虑无效值,所有等价类都有考虑
- “强”多缺陷假设
9等价类划分的原则***
- 按照区间划分
- 按照数值划分
- 按照数值集合划分
- 按限制条件或规则划分
- 细分等价类
1按照区间划分
在输入条件规定了取值范围或值的个数的情况下,则可以 确立一个有效等价类和两个无效等价类
例子:淘宝购物时,数量库存为209件
- 有效等价类:0<并≤209,如1,10等
- 无效等价类:0≤ 或 >209,如-1,210等
- 弱一般等价类:1~209中任意一个数为测试数 据,只设计1个用例即可
- 强一般等价类:分为1、 2~208、 209三个等 价类,需要设计3个用例
- 弱健壮等价类:在弱一般的基础上增加一个无 效等价类的测试,即1,-1两个等价类
- 强健壮等价类:考虑各种非法输入,如负数、 其他字符等等
2按照数值划分
在规定了输入数据的一组值(假定n个),并且 程序要对每一个输入值分别处理的情况下,可 确立n个有效等价类和一个无效等价类。
例子:输入条件说明输入学历为本科、硕士和 博士3种之一
- 有效等价类:本科、硕士和博士其中一种
- 无效等价类:除要求的3种外其他字符,如小 学、专科等
3按照数值集合划分
在输入条件规定了输入值的集合或者规定了 “必须如何”的条件的情况下,可确立一个有 效等价类和一个无效等价类。
例子:密码输入框,要求密码必须是数字或字 母
- 有效等价类:密码是数字和字母的组合(还可以细分)
- 无效等价类:密码包括中文、密码包括其他符号等
4按限制条件或规则划分
在规定了输入数据必须遵守的规则的情况下, 可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
例子:校内电话号码拨外线为9开头
- 有效等价类:9+外线号码
- 无效等价类:非9开头+外线号码,9+非外线号码等
10等价类划分法的测试用例应用
- 按照[输入条件][有效等价类][无效等价类] 建立等价类 表,列出所有划分出的等价类
为每一个等价类规定一个唯一的编号。
设计一个新的测试用例,使其尽可能多地覆盖尚未被 覆盖地有效等价类,重复这一步,直到所有的有效等价类 都被覆盖为止。
设计一个新的测试用例,使其仅覆盖一个尚未被覆盖 的无效等价类,重复这一步,直到所有的无效等价类都被 覆盖为止。
等价类划分法的实例分析
某程序规定:&#8221;输入三个整数 a 、 b 、 c 分别 作为三边的边长构成三角形。通过程序判定所 构成的三角形的类型,当此三角形为一般三角 形、等腰三角形及等边三角形时,分别作计 算 … &#8220;。用等价类划分方法为该程序进行测试 用例设计。(三角形问题的复杂之处在于输入 与输出之间的关系比较复杂。)
(答案网上找)