等价类

1.定义        

所谓等价类(Equivalence Class  Partitioning)是指输入域的某个互不相交的子集合,所有等价类的并集便是整个输入域。目的在于测试用例的无冗余性。

2.等价类划分                                                       

软件测试中的等价类划分就是解决如何选择适当的数据子集来代表整个数据集的问题,通过降低测试的数目去实现“合理的”覆盖,覆盖了更多的可能数据,以发现更多的软件缺陷。

等价类划分法是一种典型的、重要的黑盒测试方法,它将程序所有可能的输入数据(有效的和无效的)划分成若干个等价类。然后从每个部分中选取具有代表性的数据当做测试用例进行合理的分类,测试用例由有效等价类和无效等价类的代表组成,从而保证测试用例具有完整性和代表性。利用这一方法设计测试用例可以不考虑程序的内部结构,以需求规格说明书为依据,选择适当的典型子集,认真分析和推敲说明书的各项需求,特别是功能需求,尽可能多地发现错误。等价类划分法是一种系统性的确定要输入的测试条件的方法。

由于等价类是在需求规格说明书的基础上进行划分的,并且等价类划分不仅可以用来确定测试用例中的数据的输入输出的精确取值范围,也可以用来准备中间值、状态和与时间相关的数据以及接口参数等,所以等价类可以用在系统测试、集成测试和组件测试中,在有明确的条件和限制的情况下,利用等价类划分技术可以设计出完备的测试用例。这种方法可以减少设计一些不必要的测试用例,因为这种测试用例一般使用相同的等价类数据,从而使测试对象得到同样的反映行为。

 划分等价类( valid / invalid )

(1)有效等价类:检验程序是否实现了规格说明预先规定的功能和性能。

有效等价类指对于程序规格说明来说,是合理的、有意义的输入数据构成的集合。利用有效等价类可以检验程序是否实现了规格说明预先规定的功能和性能。有效等价类可以是一个,也可以是多个,根据系统的输入域划分若干部分,然后从每个部分中选取少数有代表性数据当做数据测试的测试用例,等价类是输入域的集合。以下是对有效等价类数据集的一些例子:

终端用户输入的命令

与最终用户交互的系统提示

接受相关的用户文件的名称

提供初始化值和边界等

提供格式化输出数据的命令

在图形模式(比如鼠标点击时)提供的数据

失败时显示的回应消息

(2)无效等价类:检查软件功能和性能的实现是否有不符合规格说明要求的地方

无效等价类和有效等价类相反,无效等价类是指对于软件规格说明而言,没有意义的、不合理的输入数据集合。利用无效等价类,可以找出程序异常说明情况,检查程序的功能和性能的实现是否有不符合规格说明要求的地方。以下是无效等价类数据集的一些例子:

在一个不正确的地方提供适当的值

验证边界值

验证外部边界的值

用户输入的命令

最终用户与系统交互的提示

验证与边界和外部边界值的数值数据

3.等价类划分的方法

常用的等价类划分原则

(1)按区间划分:

可以确定一个有效等价类、两个无效等价类。

例:学生允许选修4到7门课程,则可划分为

有效:4到7;

无效:不足4门;超过7门

(2)按数值划分:

如果输入条件规定了输入数据的一组可能的值,而且程序是用不同的方式处理每一种值,则可为每一种值划分一个有效等价类,并划分一个无效等价类。

(3)按数值集合划分:

规格说明中规定了输入值的集合,则可以确定一个有效等价类,并划分一个无效等价类。

例:程序要求输入为TOM,DICK,HARRY的名字之一,则可划分为

有效:三个有效名字之一

无效:有效名之外的名字,如:JOE

(4)按限制条件或规则划分:

规格说明中规定了输入数据必须遵守的规则和限制条件,则可以确立一个有效等价类(符合规则)和若干个(≥ 1)无效等价类(不同角度的违反规则)。

(5)细分等价类:

如果我们确知,已划分的某等价类中的各元素(例子)在程序中的处理方式是不同的,则应据此将此等价类进一步划分成更小的等价类

4.等价类测试用例设计

(1)在确立了等价类之后,可列出所有划分出的等价类表。

(2)为每一个等价类规定一个唯一的编号。

(3)设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,直到测试用例覆盖了所有的有效等价类。

(4)设计一个新的测试用例,使其覆盖且只覆盖一个尚未覆盖的无效等价类。重复这一步,直到测试用例覆盖了所有的无效等价类。

时间: 2024-10-10 04:08:40

等价类的相关文章

软件测试技术(二)——使用等价类划分的方法进行编码的UI测试

测试的目标程序 程序代码 划分出的等价类 划分方法 编号 有效等价类 编号 无效等价类 长度 1 长度1-6 5 长度0 6 长度>=7 字符 2 含有字符a-z 7 含有中文字符 3 含有字符A-Z 8 含有特殊字符 4 含有字符0-9 测试用例 编号 输入 覆盖的等价类 期望输出 实际输出 1 aA0 1,2,3,4 success 2 5 不能为空 3 aA01234 6 请输入1-6个英文字母或数字 4 哈 7 请输入1-6个英文字母或数字 5 T_T 8 请输入1-6个英文字母或数字

等价类划分--EditBox问题

众所周知,等价类划分法是黑盒测试中的一种典型方法.在实现时完全不用去考虑程序的内部结构,而是只根据程序对应的规格说明书对要进行的输入范围进行划分,分成若干个互不相交的子集,即为等价类.常用的等价类划分原则有以下几种: 1.按区间划分. 2.按数值划分. 3.按数值集合划分. 4.按限制条件或规则划分. 5.细分等价类. 在设计测试用例时,测试人员应同时考虑有效等价类和无效等价类测试用例的设计. 例:EditBox测试用例设计 允许输入1到6个英文字符或数字,按OK结束 考虑有效等价类:长度:1到

等价类划分方法的应用实例

上星期我们简单地了解了黑盒测试.而在黑盒测试中一个常用的测试方法就是等价类划分.所谓等价类划分即是我们按照一定的划分原则,将输入域划分为有效等价类和无效等类.   常用的等价类划分原则: 按区间划分 按数值划分 按数值集合划分 按限制条件或规则划分 细分等价类 按照限制条件或者规则划分等价类举例: 题目:文本框的非法输入测试:  允许1到6个英文字符或数字,按OK结束.   有效等价类 无效等价类 长度           1-6                  0,7, …     字符  

等价类划分方法的应用

问题描述: 允许1到6个英文字符或数字,按OK结束 有效等价类: 长度:1到6 字符:a-z,A-Z,0-9 无效等价类 长度:0,7 字符:英文/数字以外字符,控制字符,标点符号 划分等价类:   有效等价类 无效等价类 长度 长度为1-6 长度为0     长度大于6 字符 只含有a-z 含有控制符   只含有A-Z 含有标点符号   只含有0-9     只含有a-z和A-Z     含有a-z和0-9     含有A-Z和0-9     含有A-Z,a-z和0-9   编写测试用例: 编

2 黑盒测试以及等价类划分的应用

黑盒测试的基本概念 黑盒测试:是一种常用的软件测试方法,它将被测软件看作一个打不开的黑盒,主要根据功能需求设计测试用例,进行测试. 黑盒测试是一种从软件外部对软件实施的测试,也称功能测试或基于规格说明的测试. 其基本观点是:只关心软件的输入数据和输出结果. 黑盒测试是从用户观点出发的测试,尽可能发现软件的外部行为错误.在已知软件产品功能的基础上, 检测软件功能能否按照需求规格说明书的规定正常工作,是否有功能遗漏: 检测是否有人机交互错误,是否有数据结构和外部数据库访问错误,是否能恰当地接收数据并

测试用例举例之等价类划分

概念 根据可能输入域数据,划分成若干个子的输入域子集,从每一个子集中选取少数具有代表性的数据作为测试用例. 设计方法:找出输入条件,划分等价类,测试用例编写 等价类划分有两种不同的情况:有效等价类和无效等价类,一般要求一条用例尽量多的覆盖有效等价类,而无效等价类则要求一对一的覆盖 有效等价类:指用户输入的有效数据,并得到预期的或正常的结果 无效等价类:异常的或不符合规定的输入,相应的也会得到异常的输出或提示信息 编写方法 从划分出的等价类中按以下三个原则设计测试用例: (1)每一个等价类规定一个

等价类划分应用的扩展

一.问题描述 1. 三个编辑框,允许1到6个英文字符或数字,按OK结束. 二.等价类划分 1. 有效等价类: 长度: 1.2.3.4.5.6: 非0 不超过6 字符: a-z, A-Z, 0-9 2. 无效等价类: 长度: 0,7 字符: 英文/数字以外字符,控制字符,标点符号 三.实现方法 同样的在该例中也是采用javascript来验证输入的字符串,由于是三个文本框,采用循环验证的方法并记录每一个文本框的验证结果,使用条件语句对每种结果进行判断并给出相应的提示. 四.测试用例 编号 输入 预

等价类划分的应用实例(二)

题目要求: 在上周的题目基础上把一个编辑框增加到三个 等价类划分的方法: 与上周题目中判断是否为有效等价类的方法一致 判别输入成功的条件:当三个编辑框同时满足有效等价类时为输入成功 测试用例:1.aaa          2.bbb       3.ccc           三个输入都有效,提交成功 1.aaa          2.9999      3.*****      一个输入无效,提交失败 1.aaaaaaaa  2.^_^       3.888          二个输入无效,

等价类划分的思考

一.等价类划分的含义 划分的意思就是把全集分成多个集合. 等价类的意思就是在同一个等价类里的元素师等价的,用谁都一样. 那么把全集分成多个等价类每个等价类取一个用例便可以覆盖所有情况,来达到最全面的测试范围,以及最少的测试次数. 二.如何划分等价类 分好多种情况,主要看自己取的分类标准.要注意等价类之间无交集,各等价类并起来为全集 1.数值类:区间中部,区间外的两部分 2.性质:按数字(奇数偶数),是否是字母等等 只要能分出有效等价类和无效等价类就行 三.如何通过等价类写测试用例 目标是覆盖所有

等价类划分的应用实例

题目:允许输入1到6个英文字符或数字 有效等价类:长度:1到6 字符:a-z,A-Z,0-9 无效等价类:长度:0,7 字符:英文.数字以外的字符,控制字符,标点符号 按照有效等价类划分的方法设计用例: 1.条件全部有效: 如:a,bb,ccc,AAAA,00000,888888等 2.只满足一个有效条件:满足长度:+,!!,&&&,....,?????等 满足字符:aaaaaaaa,77777777777等