等价类划分的例子

合集下载

离散数学等价类

离散数学等价类

离散数学等价类
离散数学是一门研究离散结构及其运算规律的数学学科,其中一个重要的概念是等价关系。

等价关系是一种对集合中元素进行分类的方法,将具有相同性质的元素划分到同一个等价类中。

在离散数学中,等价类是以等价关系划分出的子集。

对于一个给定的等价关系R,对于集合A中的元素a和b,如果a和b满足R关系,即aRb,那么a和b属于同一个等价类。

等价类的定义要满足三个性质:自反性、对称性和传递性。

举个例子来说明等价类的概念。

考虑一个集合A表示所有人的集合,定义一个等价关系R表示两个人的年龄相同。

那么对于A中的每个人,他们可以被划分到不同的等价类中,每个等价类中的人年龄相同。

例如,如果集合A中有三个人a、b和c,其中a和b的年龄相同,b和c的年龄相同,那么a、b和c分别属于两个等价类。

等价类在离散数学中有广泛的应用。

它们可以用于表示相似关系,例如在图像处理中用于图像的分割和识别。

此外,在数据库的设计和查询过程中,等价类的概念也扮演了重要的角色。

等价类的划分可以将数据集合划分成更小的、具有相似特性的子集,从而方便进行数据的管理和查询。

总之,离散数学中的等价类是根据等价关系将集合划分成具有相同性质的子集。

它们在不同领域中都有重要的应用,帮助我们理解和处理具有相似特性的元素。

软件测试中的边界值分析和等价类划分

软件测试中的边界值分析和等价类划分

软件测试中的边界值分析和等价类划分边界值分析和等价类划分是软件测试中常用的两种测试方法。

这两种方法可以帮助测试人员更有效地识别和设计测试用例,从而增加测试的覆盖率和准确性。

本文将介绍边界值分析和等价类划分的基本原则和应用场景,并结合具体案例说明其在软件测试中的重要性和实际应用。

边界值分析是一种测试用例设计技术,其基本原则是将输入和输出的数据范围分为不同的区域,并着重测试各个区域的边界条件。

在软件开发过程中,很多功能的正确性与否取决于输入的数据范围是否在设定的边界内。

因此,边界值分析是一种针对这种情况的有效测试方法。

举个例子来说,对于一个要求用户输入年龄的程序,我们可以将输入的年龄范围分为婴儿(0-1岁)、儿童(2-12岁)、青少年(13-18岁)、成年人(19-60岁)和老年人(61岁及以上)五个区域。

我们可以通过测试各个区域边界上的数值,如0岁、1岁、2岁、12岁、13岁、18岁、19岁、60岁、61岁等,来验证程序是否正确处理各个年龄段的输入。

等价类划分是一种将测试输入分为不同等价类的方法。

等价类划分的原则是将具有相同功能和行为的输入数据归为同一类,并设计测试用例来覆盖每个等价类。

这样做的好处是能够有效地减少测试用例数量,同时保证测试覆盖到了不同的情况。

以一个登录系统为例,假设要测试用户名和密码输入的功能。

我们可以将用户名的输入等价类划分为合法用户名和非法用户名两类,密码的输入等价类划分为合法密码和非法密码两类。

在设计测试用例时,我们只需要从每个等价类中选择一个典型的测试数据来进行测试,比如选择一个合法用户名和一个合法密码、一个非法用户名和一个合法密码等,就可以覆盖到各种情况。

边界值分析和等价类划分在实际软件测试中的应用非常广泛。

它们可以帮助测试人员更全面地测试软件的功能,减少遗漏测试点的风险,并提高测试效率。

特别是在系统具有复杂输入输出、有大量的输入数据范围的情况下,使用边界值分析和等价类划分可以事半功倍。

等价类划分

等价类划分

对概念的理解:
边界值分析法使用与等价类划分法相同的划分,只是通常的边界值分析假定错
误更多地存在于划分的边界上,因此下面用一个例子说明这两种黑盒测试方法,以
更好地理解。

因果图法比前两种方法具有的优势:
等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件
的各种组合、输入条件之间的相互制约关系。

这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。

而因果图法考虑到了这一点。

例子:
某部队征兵,要求报名者年龄在18周岁到25周岁之间(到2011年10月为止),即出生年月不在上述日期内,则拒绝。

已知出生年月由6位数字字符表示,前4
位代表年,后2位代表月。

一. 等价类划分法:
Ⅰ.等价类表如下:
Ⅱ.有效等价类的测试用例:
Ⅲ.无效等价类的测试用例:
二. 边界值分析法:
三. 因果图法
海南师范大学毕业生证书发放原则如下:
(1)师范类:学分修满,发毕业证,学位证和教师资格证;学分未修满,只发教师资格证。

(2)非师范类:学分修满,发毕业证,学位证;学分未修满,什么都不发。

Ⅰ.根据题意,原因和结果如下:
原因:1----师范类
2----非师范类
3-----学分修满
4-----学分未修满
结果:B---发毕业证,学位证和教师资格证 A----只发教师资格证
C----发毕业证, 学位证
D----什么都不发
Ⅱ.其对应的因果图如下:
Ⅲ. 根据因果图建立判定表:。

使用等价类划分的方法进行测试用例的编写

使用等价类划分的方法进行测试用例的编写
200313
输入无效
等价类(10)
边界值分析法测试用例:
输入条件
测试用例说明
测试数据
期望结果
选取理由
报表日
期类型
及长度
1个数字字符
5
显示出错
仅有1个合法字符
6个数字字符
200305
输入有效
类型及长度均有效
5个数字字符
20035
显示出错
比有效长度少1
7个数字字符
2003005
显示出错
比有效长度多1
有1个非数字字符
等价类划分:(设计测试用例的பைடு நூலகம்法)
1.为每一个等价类编号
2.在设计测试用例时,要尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步.直到所有的有效等价类都被覆盖为止.
3.在设计测试用例时,仅覆盖一个尚未被覆盖的无效等价类,重复这一步.直到所有的无效等价类都被覆盖为止.
输入条件
有效等价类
无效等价类
报表日期的
200306
输入有效
等价类(1)(2)(3)
无效等价类测试用例设计:(仅覆盖一个无效等价类)
测试数据
期望结果
覆盖范围
003MAY
输入无效
等价类(4)
20035
输入无效
等价类(5)
2003005
输入无效
等价类(6)
200105
输入无效
等价类(7)
200905
输入无效
等价类(8)
200300
输入无效
等价类(9)
2003.5
显示出错
只有1个非法字符
全是非数字字符
MAY---
显示出错
6个非法字符

等价类法

等价类法
•有效等价类 有效等价类:是指对于程序的规格说明来说, 有效等价类 是合理的,有意义的输入数据所构成的集合; 利用它可以检验程序是否实现了预期的功能和 性能; •无效等价类 无效等价类:是指对于程序的规格说明来说, 无效等价类 是不合理的,没有意义的输入数据所构成的集 合;利用它可以检验程序对于无效数据的处理 。
等价类法举例
三、 设 计 输 入 数 据 。
有效等价类 无效等价类 无效等价类
1.年龄
20 ~ 39 任 选 一 个
2.年龄
40 ~ 59 任 选 一 个
3.年龄
60 岁 以 上 、 20 岁 以 小 於 1 , 选 一 个 下 任 选 一 个 英 文 Male, M, F, Female 任 选 一 个
~ 合 合 : :
39 岁 「 Female, F 」 「 未 婚 」 空 白 0.6 %
: : : 人
40 集 集 数
~ 合 合 :
59 岁 「 Male, M 」 「 已 婚 」 1 ~ 6人
用 例 编 号
年 龄
性别
婚姻
扶养 保险 人数 费率
备注
3.
70
F
未婚
7
0.1%
4.
0
M
已婚
4
5. 100 Female 未婚
7.婚 姻
「 已 婚 」
8.婚 姻
「 未 婚 」
9.扶 养 人 空 白 数 10.扶 养 1 ~ 6 人数 11.扶 养 7 ~ 9 人数 12.保 险 10 点 以 上 (0.6 %) 费率 13.保 险 10 点 以 下 (0.6 %) 费率
小 於 1 , 选 一 个
大 於 9 , 选 一 个
等价类法举例

等价类划分

等价类划分

然数集合
[1,32767]
小于1的整数,大于
32767的整数
TRUE、FALSE
ห้องสมุดไป่ตู้
幻灯片、讲义、备注页、
大纲视图
颜色、灰度、纯黑白
{1、2、3、4、6、9} 除了1、2、3、4、6、9
以外整数
水平、垂直
TRUE、FALSE
TRUE、FALSE
2.构成三角形的等价类的用力
程序规格规定:“输入三个整数作为三边的边长构成三角形,当此三角形为 一般三角形,等腰三角形和等边三角形时,分别计算...”,用等价类划分方 法进行测试用例设计。 输入条件要求: 整数 三个数
1、如果输入条件规定了取值范围或值的格式,则可以确定一个有效等价类和 两个无效等价类。例如:程序规格说明提到的输入条件包括“......项数可 以从1到999”,则可以去有效等价类为“1<项数<999”, 无效等价类为“项 数<1”及“项数>999”。 2、输入条件规定了输入值的集合,或是规定了必须如何的条件,则可以确定 一个有效等价类和一个无效等价类。例如,某程序规格说明中提到输入条件 包括”...统计全国各省,市,自治区的人口”,则应该取“国内省,市,自 治区”为有效等价类,非国内省,市,自治区为无效等价类。 3、如果我们确知,已经划分的等价类中各个元素在程序中的处理方式不同的, 则应该将此等价类进一步划分。 等价类划分完成后,可以按照以下形式列出等价类表。
具体例子: 1.PowerPoint 的打印功能界面做例子,用等价类方法,划分等价类;
输入条件 打印机名称 打印到文件 打印范围
幻灯片
有效等价类
无效等价类
可选择的打印机
TRUE、FALSE

等价类划分法含例子

等价类划分法含例子

1.等价类划分法等价类划分是一种典型的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。

等价类划分方法把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据做为测试用例。

使用这一方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步。

2.划分等价类:等价类是指某个输入域的子集合。

在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。

等价类划分可有两种不同的情况:有效等价类和无效等价类。

等价类的划分有两种不同的情况:①有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。

利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。

②无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。

对于具体的问题,无效等价类至少应有一个,也可能有多个。

在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。

3.划分等价类的标准:1)完备测试、避免冗余;2)划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合;3)并是整个集合:完备性;4)子集互不相交:保证一种形式的无冗余性;5)同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到"相同的执行路径".4.划分等价类的原则。

(1) 如果输入条件规定了取值范围,或值的个数,则可以确立一个有效等价类和两个无效等价类。

例如,在程序的规格说明中,对输入条件有一句话:“…… 项数可以从1到999 ……”则有效等价类是“1≤项数≤999”两个无效等价类是“项数<1”或“项数>999”。

等价类划分法含例子

等价类划分法含例子

1.等价类划分法等价类划分是一种典型的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。

等价类划分方法把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据做为测试用例。

使用这一方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步。

2.划分等价类:等价类是指某个输入域的子集合。

在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。

等价类划分可有两种不同的情况:有效等价类和无效等价类。

等价类的划分有两种不同的情况:①有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。

利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。

②无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。

对于具体的问题,无效等价类至少应有一个,也可能有多个。

在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。

3.划分等价类的标准:1)完备测试、避免冗余;2)划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合;3)并是整个集合:完备性;4)子集互不相交:保证一种形式的无冗余性;5)同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到"相同的执行路径".4.划分等价类的原则。

(1) 如果输入条件规定了取值范围,或值的个数,则可以确立一个有效等价类和两个无效等价类。

例如,在程序的规格说明中,对输入条件有一句话:“…… 项数可以从1到999 ……”则有效等价类是“1≤项数≤999”两个无效等价类是“项数<1”或“项数>999”。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

假设有一个把数字串转变成整数的函数。

运行程序的计算机字长16位,用二进制补码表示整数。

这个函数是用PASCAL语言编写的,它的说明如下:
function strtoint(dstr:shortstr):integer;
函数的参数类型是shortstr,它的说明是;
type shortstr=array[1..6]of char;
被处理的数字串是右对齐的,也就是说,如果数字串比六个字符短,则在它的左边补空格。

如果数字串是负的,则负号和最高位数字紧相邻(负号在最高位数字左边一位)。

考虑到PASCAL编译程序固有的检错功能,测试时不需要使用长度不等于6的数组做实在参数,更不需要使用任何非字符数组类型的实在参数。

分析这个程序的规格说明,可以划分出如下等价类:
有效输入的等价类有
⑴1~6个数字字符组成的数字串(最高位数字不是零);
⑵最高位数字是零的数字串;
⑶最高位数字左邻是负号的数字串;
无效输入的等价类有
⑷空字符串(全是空格);
⑸左部填充的字符既不是零也不是空格;
⑹最高位数字右面由数字和空格混合组成;
⑺最高位数字右面由数字和其他字符混合组成;
⑻负号与最高位数字之间有空格;
合法输出的等价类有
⑼在计算机能表示的最小负整数和零之间的负整数;
⑽零;
⑾在零和计算机能表示的最大正整数之间的正整数;
非法输出的等价类有
⑿比计算机能表示的最小负整数还小的负整数;
⒀比计算机能表示的最大正整数还大的正整数。

因为所用的计算机字长16位,用二进制补码表示整数,所以能表示的最小负整数是-32768,能表示的最大正整数是32767。

根据上面划分出的等价类,可以设计出下述测试方案(注意,每个测试方案由三部分内容组成):
⑴l~6个数字组成的数字串,输出是合法的正整数。

输入:‘1’
预期的输出:1
⑵最高位数字是零的数字串,输出是合法的正整数。

输入:‘000001’
预期的输出:1
⑶负号与最高位数字紧相邻,输出合法的负整数
输入:‘-00001’
预期的输出:-1
⑷最高位数字是零,输出也是零。

输入:‘000000’
预期的输出:0
⑸太小的负整数。

输入:‘-47561’
预期的输出:“错误——无效输入”
⑹太大的正整数。

输入:‘132767’
预期的输出:“错误—无效输入”
⑺空字符串。

输入:‘’
预期的输出:“错误——没有数字”
⑻字符串左部字符既不是零也不是空格
输入:‘×××××1'
预期的输出:“错误——填充错”
⑼最高位数字后面有空格。

输入:‘12’
预期的输出:“错误——无效输入”
⑽最高位数字后面有其他字符。

输入:‘1××2’
预期的输出:“错误——无效输入’
⑾负号和最高位数字之间有空格
输入:‘-12’
预期的输出:“错误——负号位置错”
例如,为了测试前述的把数字串转变成整数的程序,除了上一小节已经用等价划分法设计出的测试方案外,还应该用边界值分析法再补充下述测试方案:
⑿使输出刚好等于最小的负整数。

输入:‘-32768’
预期的输出为:-32768
⒀使输出刚好等于最大的正整数。

输入:‘32767’
预期的输出:32767
原来用等价划分法设计出来的测试方案⑸最好改为:
⒁使输出刚刚小于最小的负整数。

输入:‘-32769’
预期的输出:“错误——无效输入
原来的测试方案⑹最好改为:
⒂使输出刚刚大于最大的正整数。

输入:‘32768’
预期的输出:“错误——无效输入”。

相关文档
最新文档