您现在的位置是:首页 >技术交流 >啥是等价类网站首页技术交流

啥是等价类

张紫娃 2023-06-10 12:00:02
简介啥是等价类

1. 等价类基础背景介绍

1.1 等价类的定义:

等价类是指某个输入域子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,具有等价特性

1.2 等价类的类型划分

软件不仅要能接收合理数据,也要能经受异常数据的考验。这样的测试才能确保软件具有更高的可靠性,故分有效等价类无效等价类

1.2.1 有效等价类

有意义的输入数据构成的集合
确认是否实现了规格说明中所规定的功能和性能(确认过程)

1.2.2 无效等价类

无意义的输入数据构成的集合
检验程序对于无效数据异常处理能力(检验过程)


1.3 等价类对测试的意义:

等价类将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性代表性(无冗余性)

  • 完备性体现在:等价类指互不相交的一组子集,这些子集的是整个集合。
  • 无冗余性体现在:测试某等价类的代表值就等于对这一类其它值的测试。

2. 使用等价类划分方法设计测试用例(参考 第5条)

第 1 步:划分等价类(列出等价类表)。
第 2 步:选取测试用例。


3. 等价类测试用例的类别

“健壮” →所有等价类都有考虑, 不仅考虑有效值,还考虑无效值。
“强” → 基于多缺陷假设。

3.1 弱一般等价类

遵循单缺陷原则,要求用例覆盖每个变量一种取值即可,取值为有效值.

3.2 弱健壮等价类

弱一般等价类的基础上,增加取值为无效值的情况。

  • 对于有效输入,使用每个有效值类一个值
  • 对于无效输入,测试用例将拥有一个无效值,并保持其余的值是有效的

3.3 强一般等价类

遵循多缺陷原则,要求用例覆盖每个变量每种取值之间的迪卡尔乘积,即所有变量所有取值的所有组合,取值为有效值

3.4 强健壮等价类

强一般等价类的基础上,增加取值为无效值的情况。


4. 等价类划分的原则

4.1按照区间划分

例子:输入值是学生成绩,范围是0~100之间

  • 有效等价类:0≤并≤100,如0,1,10等
  • 无效等价类:<0 或 >100,如-1,101等

弱一般等价类:0~100中任意一个数为测试数据,只设计1个用例即可
强一般等价类:分为-10~100101三个等价类,需要设计3个用例
弱健壮等价类:考虑到60分在实际情况中为特殊数字,划分00~606060~991005个用例
强健壮等价类:还要多考虑各种非法输入,如负数其他字符等等

4.2 按数值划分

例子:输入条件说明输入学历为本科、硕士和博士3种之一

  • 有效等价类:本科、硕士和博士其中一种
  • 无效等价类:除要求的2种外其他字符,如小学、专科等

4.3按照数值集合划分

例子:密码输入框,要求密码必须是数字或字母

  • 有效等价类:密码是数字和字母的组合(还可以细分)
  • 无效等价类:密码包括中文、密码包括其他符号等

4.4 按限制条件或规则划分

例子:校内电话号码拨外线为9开头

  • 有效等价类:9+外线号码
  • 无效等价类:非9开头+外线号码,9+非外线号码等

4.5 细分等价类

等价类还可以进一步划分为更小的等价类,并建立等价类表

5、等价类划分法的测试用例应用

  1. 按照[输入条件] [有效等价类] [无效等价类] 建立等价类表列出所有划分出的等价类,为每一个等价类规定一个唯一的编号
  2. 设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止。
  3. 设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。

5.1 例子:输入值是学生成绩,范围是0~100之间

5.1.1 划分等价类,设定编号

输入条件有效等价类编号无效等价类编号
0~100的整数0~100的整数1<02
>1003
非整数4
非数值类型5

5.1.2 编写测试用例对等价类编号进行覆盖

用例编号用例标题数字值预期结果覆盖等价类
case_1正常范围66输入正确1
case_2异常取值(<0)-1输入错误:必须0~100的整数2
case_3异常取值(>100)101输入错误:必须0~100的整数3
case_4异常取值(非整数)12.5输入错误:必须0~100的整数4
case_5异常取值(非数值类型)aaa输入错误:必须0~100的整数5

参考

等价类划分法的步骤和示例
黑盒测试用例设计方法-等价类划分法

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。