等价类划分法实例
离散数学等价类
离散数学等价类
离散数学是一门研究离散结构及其运算规律的数学学科,其中一个重要的概念是等价关系。
等价关系是一种对集合中元素进行分类的方法,将具有相同性质的元素划分到同一个等价类中。
在离散数学中,等价类是以等价关系划分出的子集。
对于一个给定的等价关系R,对于集合A中的元素a和b,如果a和b满足R关系,即aRb,那么a和b属于同一个等价类。
等价类的定义要满足三个性质:自反性、对称性和传递性。
举个例子来说明等价类的概念。
考虑一个集合A表示所有人的集合,定义一个等价关系R表示两个人的年龄相同。
那么对于A中的每个人,他们可以被划分到不同的等价类中,每个等价类中的人年龄相同。
例如,如果集合A中有三个人a、b和c,其中a和b的年龄相同,b和c的年龄相同,那么a、b和c分别属于两个等价类。
等价类在离散数学中有广泛的应用。
它们可以用于表示相似关系,例如在图像处理中用于图像的分割和识别。
此外,在数据库的设计和查询过程中,等价类的概念也扮演了重要的角色。
等价类的划分可以将数据集合划分成更小的、具有相似特性的子集,从而方便进行数据的管理和查询。
总之,离散数学中的等价类是根据等价关系将集合划分成具有相同性质的子集。
它们在不同领域中都有重要的应用,帮助我们理解和处理具有相似特性的元素。
黑盒测试《等价类划分》-有这篇就够了
⿊盒测试《等价类划分》-有这篇就够了⼤家好,我是吉提。
在疫情消停不下来的2020年,既然不好跳槽,不好涨薪,也不好发挥创造⼒,那么就沉下⼼来,跟我⼀起,巩固软件测试基础知识。
积攒⼒量,蓄势待发。
本⽂将会详细描述“等价类划分",它是⿊盒测试最基本的⽤例设计⽅法。
⽬录:1. 定义(What)2. 为什么使⽤该⽅法?(Why)3. 如何划分等价类?(How)4. 设计测试⽤例5. 使⽤场景6. 根据测试⽤例的完整性划分7. 等价类划分注意事项8. 等价类划分的优缺点9. 实战演练1. 定义(What)等价类划分法是⼀种典型的,并且是最基础的⿊盒测试⽤例设计⽅法。
采⽤等价类划分法时,完全不⽤考虑程序内部结构,设计测试⽤例的唯⼀依据是软件需求规格说明书。
所谓等价类,是输⼊条件的⼀个⼦集合,该输⼊集合中的数据对于揭⽰程序中的错误是等价的。
从每⼀个⼦集中选取少数具有代表性的数据,从⽽⽣成测试⽤例。
等价类⼜分为有效等价类和⽆效等价类。
有效等价类代表对程序有效的输⼊,⽽⽆效等价类则是其他任何可能的输⼊(即不正确的输⼊值)。
有效等价类和⽆效等价类都是使⽤等价类划分法设计⽤例时所必须的,因为被测程序若是正确的,就应该既能接受有效的输⼊,也能接受⽆效输⼊的考验。
2. 为什么使⽤该⽅法?(Why)理想的测试,是从所有可能的输⼊中找出某个⼩的⼦集,并且是可能发现错误最多的⼦集。
即:使⽤最少的测试数据,达到最好的测试质量(最⾼性价⽐)。
这个⼦集如何确定?可以借助测试⽤例的两个特性:测试⽤例数量达到最少;某个测试⽤例要能覆盖⼤部分其他测试⽤例。
第⼆个特性就暗⽰我们,应该尽量将程序输⼊范围进⾏划分,将其划分为有限数量的等价类,这样就可以合理地假设测试每个等价类的代表性数据等同于测试该类的其他任何数据。
这两种特性形成了称为等价类划分的⿊盒测试⽅法。
因此,等价类划分是⿊盒测试最基本的⽅法。
3. 如何划分等价类?(How)在给定了输⼊或外部条件之后,等价类的划分原则如下:如果输⼊条件规定了⼀个取值范围(例如,“数量可以是1到999”),那么就应确定出⼀个有效等价类(1<数量<999),以及两个⽆效等价类(数量<1,数量>999)。
等价类划分法
等价类的划分
(3)按照数值集合划分 在输入条件规定了输入值的集合或 规定了“必须如何”的条件下,可以确定一个有效等价类和 一个无效等价类(该集合有效值之外)。 例:程序输入条件为取值为奇数的整数 x,则有效等价类为x (4)按照限制条件或规则划分 在规定了输入数据必须遵 的值为奇数的整数,无效等价类为 x的值不为奇数的整数。 守的规则或限制条件的情况下,可确定一个有效等价类(符 合规则)和若干个无效等价类(从不同角度违反规则)。 例:程序输入条件为以字符‘a’开头、长度为8的字符串,并且 (5)细分等价类 在确知已划分的等价类中各元素在程序中 字符串不包含‘a’~ ‘z’之外的其它字符,则有效等价类为满 的处理方式不同的情况下,则应再将该等价类进一步划分为 足了上述所有条件的字符串,无效等价类为不以‘a’开头的字 更小的等价类,并建立等价类表。 符串、长度不为8的字符串和包含了‘a’~ ‘z’之外其它字符的 字符串。
实践环节
测试用例设计概述
测试用例的定义和特征 测试用例的基本准则 设计测试用例的着眼点
测试用例设计书写标准
Return
测试用例的定义和特征
测试用例的定义: (1)测试用例是为特定的目的而设计的一组测试输入、 执行条件和预期的结果。
(2)测试用例是执行的最小实体。 测试用例的特征: (1)最有可能抓住错误的; (2)不是重复的、多余的; (3)一组相似测试用例中最有效的; (4)既不是太简单,也不是太复杂。
6点
4点
等价类划分法
测试用例设计—等价类划分法2008-10-10 11:41:40| 分类:测试| 标签:|字号大中小订阅1.相关概念:等价类划分法是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。
该方法是一种重要的,常用的黑盒测试用例设计方法。
1.2 等价类等价类是某个输入域的集合,在这个集合中每个输入条件都是等效的。
如果其中一个的输入不能导致问题发生,那么集合中其它输入条件进行测试也不可能发现错误。
等价类分为有效等价类和无效等价类。
有效等价类就是由那些对程序的规格说明有意义的、合理的输入数据所构成的集合,利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
无效等价类就是那些对程序的规格说明不合理的或无意义的输入数据所构成的集合。
2.划分等价类的方法划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合。
下面给出六条确定等价类的原则。
1、在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
例如:成年人每分钟的心跳60-100之间为正常。
有效等价类:60-100 无效等价类:<60 和>1002、在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类。
例如:用户连续输入错误密码的次数最多为3次。
有效等价类:<=3次无效等价类:>3次3、在输入条件是一个布尔量的情况下,可确定一个有效等价类。
例如:单选的选中与不选中。
4、在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。
例如:输入数据为省份的选择。
5、在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
例如:规定必须输入非0的正整数。
等价类划分法
等价类划分法等价类划分是一种典型的黑盒测试方法,用这一方法设计测试用例完全不考虑程序的内部结构,只根据对程序的要求和说明,即需求规格说明书。
我们必须仔细分析和推敲说明书的各项需求,特别是功能需求。
把说明书中对输入的要求和输出的要求区别开来并加以分解。
由于穷举测试工作量太大,以至于无法实际完成,促使我们在大量的可能数据中选取其中的一部分作为测试用例。
例如,在不了解等价分配计数的前提下,我们做计算器程序的加法测试时,测试了1+1,1+2,1+3和1+4之后,还有必要测试1+5和1+6吗,能否放心地认为它们是正确的?我们感觉1+5和1+6,与前面的1+1,1+2都是很类似的简单加法。
等价类划分的方法是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据作为测试用例。
每一类的代表性数据在测试中的作用等价于这一类中的其他值,也就是说,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能发现同样的错误;反之,如果某一类中的一个例子没有发现错误,则这一类中的其他例子也不会查出错误(除非等价类中的某些例子属于另一等价类,因为几个等价类是可能相交的)。
使用这一方法设计测试用例,首先必须在分析需求规格说明的基础上划分等价类,列出等价类表。
1、划分等价类和列出等价类表等价类是指某个输入域的子集合。
在该子集合中,各个输入数据对于发现程序中的错误都是等效的。
并合理地假定:测试某个等价类的代表值就等于对这一类其他值的测试。
因此,可以把全部输入数据合理地划分为若干等价类,在每一个等价类中取一个数据作为测试输入条件,就可以用少量代表性的测试数据取得较好的测试结果。
等价类划分有两种不同的情况:有效等价类和无效等价类。
有效等价类:指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。
利用有效等价类可以检验程序是否实现了规格说明中所规定的功能和性能。
无效等价类:与有效等价类的定义相反。
设计测试用例时,要同时考虑这两种等价类。
等价类划分法含例子
1.等价类划分法等价类划分是一种典型的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。
等价类划分方法把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据做为测试用例。
使用这一方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步。
2.划分等价类:等价类是指某个输入域的子集合。
在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。
等价类划分可有两种不同的情况:有效等价类和无效等价类。
等价类的划分有两种不同的情况:①有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。
利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
②无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。
对于具体的问题,无效等价类至少应有一个,也可能有多个。
在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。
3.划分等价类的标准:1)完备测试、避免冗余;2)划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合;3)并是整个集合:完备性;4)子集互不相交:保证一种形式的无冗余性;5)同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到"相同的执行路径".4.划分等价类的原则。
(1) 如果输入条件规定了取值范围,或值的个数,则可以确立一个有效等价类和两个无效等价类。
例如,在程序的规格说明中,对输入条件有一句话:“…… 项数可以从1到999 ……”则有效等价类是“1≤项数≤999”两个无效等价类是“项数<1”或“项数>999”。
三角形问题等价类划分
三角形问题等价类划分
三角形问题等价类划分是指将所有不同性质的三角形划分成一组等价类,每个等价类包含具有相同性质的三角形。
根据三角形问题的不同性质,可以进行不同的等价类划分。
常见的三角形问题等价类划分包括:
1. 根据边长等价类划分:将所有三角形根据边长的不同划分成等边三角形、等腰三角形、一般三角形等等等价类。
2. 根据角度等价类划分:将所有三角形根据角度的不同划分成锐角三角形、直角三角形、钝角三角形等等等价类。
3. 根据面积等价类划分:将所有三角形根据面积的不同划分成等面积三角形、不等面积三角形等等等价类。
4. 根据特殊性质等价类划分:将所有三角形根据特殊性质的不同划分成等腰直角三角形、等腰钝角三角形等等等价类。
根据不同的三角形问题可以进行不同的等价类划分,这样可以帮助我们更好地理解和分类三角形。
同时,等价类划分也有助于研究和解决三角形问题。
等价类划分法
设计测试用例的着眼点
根据产品规格,测试基本功能; 考虑设计一般用户(非专业人员)的使用方案; 考虑设计稀有或特殊的使用方案; 与系统其他组成部分的配合(如 FAX 和上网可能要用到 MODEM,测试中考虑对设备的共享); 考虑特殊情况(如内存和硬件的冲突等); 设计极端情况(如内存泄漏、破坏性测试等); 好的测试用例集能花费最小的代价(人力、物力、财力、 时间)做最好的测试。
设计测试用例的基本准则
测试用例的代表性 能够代表并覆盖各种合理的和不合理的、合法的和非 法的、边界的和越界的以及极限的输入数据、操作和环 境设置等。 测试结果的可判定性 即测试执行结果的正确性是可判定的,每一个测试用 例都应有相应的期望结果。 测试结果的可再现性 即对同样的测试用例,系统的执行结果应当是相同的。
例:程序输入x取值于一个固定的枚举类型{1,3,7,15},且程序 中对这4个数值分别进行了处理,则有效等价类为x=1、x=3、 x=7、x=15,无效等价类为x≠1,3,7,15的值的集合。
等价类的划分
(3)按照数值集合划分 在输入条件规定了输入值的集合或 规定了“必须如何”的条件下,可以确定一个有效等价类和 一个无效等价类(该集合有效值之外)。 例:程序输入条件为取值为奇数的整数 x,则有效等价类为x (4)按照限制条件或规则划分 在规定了输入数据必须遵 的值为奇数的整数,无效等价类为 x的值不为奇数的整数。 守的规则或限制条件的情况下,可确定一个有效等价类(符 合规则)和若干个无效等价类(从不同角度违反规则)。 例:程序输入条件为以字符‘a’开头、长度为8的字符串,并且 (5)细分等价类 在确知已划分的等价类中各元素在程序中 字符串不包含‘a’~ ‘z’之外的其它字符,则有效等价类为满 的处理方式不同的情况下,则应再将该等价类进一步划分为 足了上述所有条件的字符串,无效等价类为不以‘a’开头的字 更小的等价类,并建立等价类表。 符串、长度不为8的字符串和包含了‘a’~ ‘z’之外其它字符的 字符串。
等价类划分法和边界法的区别
等价类划分法和边界法的区别1. 引言大家好呀,今天我们来聊聊两个在软件测试领域非常重要的方法:等价类划分法和边界值分析法。
听起来是不是有点学术,其实也没那么复杂,咱们就用通俗易懂的方式来看看这两个方法的区别,保证让你听完后能心里有数,嘴上也能说得清!2. 等价类划分法2.1 什么是等价类划分法?好,先说说等价类划分法。
你可以把它想象成一个切蛋糕的过程,大家都喜欢吃蛋糕,但不是每一块都得尝试对吧?我们可以把所有可能的输入分成几个“类”,每个类里边的东西都差不多,这样就能减少测试的工作量。
比如说,你要测试一个输入年龄的程序。
18岁到60岁之间的都算一类,60岁以上的一类,18岁以下的又是一类。
每一类里边的值都差不多,所以你就可以选一个代表性的值来测试,省时省力,真是一举两得。
2.2 适用场景和优缺点不过呢,等价类划分法也有它的短板。
有时候你可能会漏掉一些边缘情况,比如刚好18岁或60岁这些“老虎”。
这就需要咱们后面要讲的边界值分析法来捉拿这些细节了。
所以说,等价类划分法是个好帮手,但它绝对不是万灵药。
它适合于那些输入范围比较大的情况,尤其是当你能明确划分出几类时,就可以大显身手了!3. 边界值分析法3.1 什么是边界值分析法?好,接下来我们聊聊边界值分析法。
这可是一位神奇的朋友!顾名思义,它专注于那些“边界”,也就是极限值。
还是以刚才的年龄测试为例,边界值分析法会关注那些极限值,比如17岁、18岁、59岁和60岁。
因为在实际测试中,这些边界值往往是出问题的高发区,就像过马路时总得看看左右来车的危险,边界值分析就是为了避免你在测试中“撞车”。
3.2 适用场景和优缺点这个方法特别适合于那些有明确上下限的场合,像银行取款、投票年龄等。
如果你只测试18岁和60岁的值,而不测试这两个边界周围的值,那可就糟了!不过,边界值分析法也不是没有缺点。
它通常需要更多的测试用例,尤其是在复杂的系统里,可能会让你觉得有点力不从心。
黑盒测试——等价类划分法
实验二: 黑盒测试——等价类划分法【实验环境】Windows 10 操作系统,C,C++,C#、Java或Python语言开发环境(IDE)。
【实验类型】设计型【实验目的】1.认识黑盒测试方法中等价类划分测试方法原理2.掌握黑盒测试方法中等价类划分测试方法过程【实验内容】【实验材料】1.三角形问题问题描述:三角形问题接受三个整数,a、b和c作为输入,用作三角形的边。
程序的输出是由这三条边确定的三角形类型:等边三角形、等腰三角形、不等边三角形或非三角形。
作为输入:三角形的三条边必须满足如下条件:C1:1<=a<=100C2:1<=b<=100C3:1<=c<=100C4:a<b+cC5:b<a+cC6:c<a+b2.NextDate函数问题描述:NextDate是一个由三个变量(月份、日期和年份)的函数。
函数返回输入日期后边的那个日期。
作为输入:变量月份、日期和年都具有整数值,满足以下条件。
C1:1<=月份<=12C2:1<=日期<=31C3:1912<=年<=20503.佣金问题问题描述:前亚利桑那洲境内的一位步枪销售商销售密苏里州制造商制造的步枪机(lock)、枪托(stock)和枪管(barrel)。
枪机卖45美元,枪托卖30美元,枪管卖25美元。
销售商每月至少要售出一支完整的步枪,且生产限额是大多数销售商在一个月内可销售70个枪机、80个枪托和90个枪管。
每访问一个镇子后,销售商都给密苏里州步枪制造商发出一份很短的电报,通知几个枪机被售出。
这样步枪制造商就知道当月的销售情况,并计算销售商的佣金如下:不到(含)1000美元的部分为10%;1000(不含)~1800(含)美元的部分为15%;超过1800美元的部分为20%。
佣金程序生成月份销售报告,汇总售出的枪机、枪托和枪管总数,销售商的总销售额以及佣金。
等价类划分法
等价类划分法
等价类划分法介绍:
>>等价类划分法是将程序所有可能的输⼊进⾏合理分类,再从每⼀个分类中选取少数具有代表性的数据作为测试⽤例,从⽽开展 测试,“合理分类”即“划分等价类”。
之所以分类“等价”,是由于从划分好的分类中,任意选取⼀条数据都能代表其他的数据执⾏ 测试,它们之间选取是等价的。
等价类划分法特点:
>>等价类划分法是⼀种重要且常⽤的⿊盒测试⽤例设计⽅法,⼴泛应⽤于各项测试中,优势显著。
采⽤该⽅法既能⼤⼤减少测试 ⼯作量,⼜能提⾼测试的有效性。
>>等价类划分法中“如何划分等价类”尤为关键:
>>有效等价类:符合需求说明的,合理的输⼊数据的集合。
>>⽆效等价类:不符合需求说明的,⽆意义的输⼊数据的集合。
应⽤步骤:
>>依据常⽤⽅法划分等价类;
>>为等价类表中的每⼀个等价类分别规定⼀个唯⼀的编号;
>>设计⼀个新⽤例,使它能够尽量多覆盖尚未覆盖的有效等价类,重复该步骤,直到所有有效等价类均被⽤例所覆盖;
>>设计⼀个新⽤例,使它仅覆盖⼀个尚未覆盖的⽆效等价类,重复该步骤,直到所有的⽆效等价类均被⽤例所覆盖。
应⽤实例:
>>登录窗⼝需求说明⽤户名限制为6~10位⾃然数,⽤等价类划分法可得以下⽤例:。
等价类划分法生成成绩管理系统的用例说明
等价类划分法生成成绩管理系统的用例说明一、引言在软件工程中,等价类划分法是一种常用的测试用例设计方法,通过将输入值划分为等价类,从而减少测试用例的数量,但能够覆盖多种可能性,提高测试效率。
本文旨在通过等价类划分法来生成成绩管理系统的用例说明,探讨其应用在软件开发中的重要性。
二、成绩管理系统的功能概述成绩管理系统是用于管理学生学习成绩的软件,其主要功能包括学生信息管理、课程信息管理和成绩信息管理。
在进行用例设计时,需要首先明确系统的功能概述,以便能够更好地进行等价类划分。
三、学生信息管理的用例说明1. 添加学生信息等价类1:有效的学生信息(包括学号、尊称、性别、芳龄等)等价类2:无效的学生信息(缺少必要信息、信息格式错误等)2. 修改学生信息等价类1:存在的学生信息等价类2:不存在的学生信息3. 删除学生信息等价类1:存在的学生信息等价类2:不存在的学生信息四、课程信息管理的用例说明1. 添加课程信息等价类1:有效的课程信息(包括课程编号、课程名称、学分等)等价类2:无效的课程信息(缺少必要信息、信息格式错误等)2. 修改课程信息等价类1:存在的课程信息等价类2:不存在的课程信息3. 删除课程信息等价类1:存在的课程信息等价类2:不存在的课程信息五、成绩信息管理的用例说明1. 添加成绩信息等价类1:有效的成绩信息(包括学生学号、课程编号、成绩等)等价类2:无效的成绩信息(学号或课程编号错误、成绩格式错误等)2. 修改成绩信息等价类1:存在的成绩信息等价类2:不存在的成绩信息3. 删除成绩信息等价类1:存在的成绩信息等价类2:不存在的成绩信息六、总结和回顾通过等价类划分法,我们能够明确系统的功能需求,设计出相对完整且具备覆盖性的测试用例。
这不仅能够提高测试效率,还能够帮助开发人员更好地理解系统的需求,减少因需求理解不清晰而导致的软件开发错误。
等价类划分法在软件开发中的应用具有重要意义。
七、个人观点和理解在进行软件设计和测试时,合理利用等价类划分法可以帮助我们更好地理解系统需求,减少冗余的测试用例,提高测试效率。
市电话号码-等价类划分法
前缀
321 805
预期输出
接受(有效) 接受(有效)
覆盖等价类
1, 3, 4 2, 3, 4 5 6 7 8 9
3
4 5 6 7 8 9
20*
33 1234 123 123 123 123
321
234 234 2#3 013 123 23
4567
5678 4567 1234 1234 1234 1234
Logo
1、某城市电话号码由三部分组成,分别是: 地区码—— 空白或三位数字; 前 缀—— 非‘0’或非‘1’开头的三位数 字; 后 缀—— 4位数字。 假定被测程序能接受一切符合上述规定 的电话号码, 拒绝所有不符合规定的电话 号码。
(1)划分等价类、列出等价类表
Logo
输入条件 地区码 3位数字 有效等价类 空白 编号 无效等价类 编号 5 6 7 8 9 10
1
2
有非数字字符
少于3位数字 多于3位数字 有非数字字符 起始为’0’的3位数字
前缀
200~999
3
起始为’1’的3位数字 少于3位数字 多于3位数字 有非数字字符
11
12 13 14 15
后缀
4位数字
4
少于4位数字
多于4位数字
测试用例 编号 1 2
输入数据
Logo
后缀
4567 9876
地区码
空白 123
拒绝(无效)
拒绝(无效) 拒绝(无效) 拒绝(无效) 拒绝(无效) 拒绝(无效) 拒绝(无效)
10
11 12 13 14
10
11 12
123
123 123
2345
234 234
等价类划分原则及作业
婚姻
已婚 3点 未婚 5点
抚养人数
1人扣0.5点 最多扣3点 (四舍五入取整)
6位数字字符①
年份范围 月份范围
在2001~2005之间② 在1~12之间③
在划分等价类时可以先考虑输入数据的类型(合法型和非法型), 再考虑数据范围(合法型中的合法区间和非法区间)。
ห้องสมุดไป่ตู้
第二步:为有效等价类设计测试用例
对表中编号为①②③的3个有效等价 类用一个测试用例覆盖:
测试数据 期望结果 覆盖范围
等价类划分的原则
• 6、在确知已划分的等价类中各元素在程序处理中的 方式不同的情况下,则应再将该等价类进一步的划分 为更小的等价类。 • 例如:核对日期的有效性,初步有效等价类是 1<=Month<=12,1<=Day<=31 可是考虑到2月以及闰年、闰月、长月、短月等,需 要进一步细分,当然其中还涉及到了年月日组合的问 题。 • 根据等价类划分原则,将等价类填入下表。 等价类表
等价类划分的原则
• 3、在输入条件是一个布尔量的情况下,可确 定一个有效等价类。 • 例如:单选的选中与不选中。 ○男生 ●女生
等价类划分的原则
• 4、在规定了输入数据的一组值(假定n个), 并且程序要对每一个输入值分别处理的情况下, 可确立n个有效等价类和一个无效等价类。
•
等价类划分的原则 例1:输入数据为省份的选择。
– 有效等价类:①选修1~3门 – 无效等价类:①不选 或 ②选修超过3门
•
等价类划分的原则
• 2、在输入条件规定了输入值的集合或者规定了 “必须如何”的条件的情况下,可确立一个有效 等价类和一个无效等价类。 • 例如:用户连续输入错误密码的次数最多为3次。
软件测试的等价类划分法概述
• 设F实现为一个程序,则输入变量x1和x2 拥有以下边界以及边界内的区间:
a≤x1 ≤d,区间为[a,b), [b,c), [c,d] e ≤x2 ≤g,区间为[e,f), [f,g]
弱一般等价类
•覆盖所有有效等 价类 •没有考虑无效等 价类
强一般等价类
•有效测试用例为 所有有效等价类 的组合 •没有考虑无效等 价类
无效等价类
小于、等于0选一个 13 大于99选一个 14 非英文字 15 除这四个之外的任 何英文字母 16 非已婚或未婚之任 意字符 17
小于1 18 大于9 19
第二步:设计有效测试用例
用例编号 年龄
性别
婚姻 抚养人数 保险费率 备注
有效
1
27
Female
未婚
空白
0.6%
覆盖:1、 5、7、8、
婚姻 未婚
备注
2
50
已婚
3
70
未婚
3、弱健壮等价类
用例编号 1 2 3 4 5 6
年龄 27 50 70 0 100 35
婚姻 未婚 未婚 未婚 已婚 已婚 重婚
备注
覆盖3个 无效等价
类
2、强一般等价类
用例编号 1
2
3
年龄 27 27 50 50 70 70
婚姻 未婚 已婚 未婚 已婚 未婚 已婚
备注
5
无法推算 无效。14
6
1
男
已婚
6
无法推算 无效。15
7
99 Child 未婚
1
无法推算 无效。168Biblioteka 30 Male 离婚3
无法推算 无效。17
9
75 Female 未婚
等价类划分法含例子
1.等价类划分法等价类划分是一种典型的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。
等价类划分方法把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据做为测试用例。
使用这一方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步。
2.划分等价类:等价类是指某个输入域的子集合。
在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。
等价类划分可有两种不同的情况:有效等价类和无效等价类。
等价类的划分有两种不同的情况:①有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。
利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
②无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。
对于具体的问题,无效等价类至少应有一个,也可能有多个。
在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。
3.划分等价类的标准:1)完备测试、避免冗余;2)划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合;3)并是整个集合:完备性;4)子集互不相交:保证一种形式的无冗余性;5)同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到"相同的执行路径".4.划分等价类的原则。
(1) 如果输入条件规定了取值范围,或值的个数,则可以确立一个有效等价类和两个无效等价类。
例如,在程序的规格说明中,对输入条件有一句话:“…… 项数可以从1到999 ……”则有效等价类是“1≤项数≤999”两个无效等价类是“项数<1”或“项数>999”。
等价类划分法设计测试用例
等价类划分法设计测试⽤例等价类划分法是⼀种典型的⿊盒测试⽤例设计⽅法。
采⽤等价类划分法时,完全不⽤考虑程序内部结构,设计测试⽤例的唯⼀依据是软件需求规格说明书。
等价类所谓等价类,是输⼊条件的⼀个⼦集合,该输⼊集合中的数据对于揭⽰程序中的错误是等价的。
等价类⼜分为有效等价类和⽆效等价类。
有效等价类代表对程序有效的输⼊,⽽⽆效等价类则是其他任何可能的输⼊(即不正确的输⼊值)。
有效等价类和⽆效等价类都是使⽤等价类划分法设计⽤例时所必须的,因为被测程序若是正确的,就应该既能接受有效的输⼊,也能接受⽆效输⼊的考验。
划分等价类的标准:1.完备测试、避免冗余;2.划分等价类重要的是:集合的划分,划分为互不相交的⼀组⼦集,⽽⼦集的并是整个集合;3.并是整个集合:完备性;4.⼦集互不相交:保证⼀种形式的⽆冗余性;5.同⼀类中标识(选择)⼀个测试⽤例,同⼀等价类中,往往处理相同,相同处理映射到"相同的执⾏路径"。
等价类划分的⽅法:1.如果输⼊条件规定了⼀个取值范围,那么就应该确定⼀个有效等价类以及两个⽆效等价类。
如⽉份取值在1~12之间,由此可确定⼀个有效等价类即⽉份在1~12之间,和两个⽆效等价类,即⽉份取值⼩于1及⽉份取值⼤于12.2.规定了输⼊条件必须如何的情况下可以确定⼀个有效等价类和⼀个⽆效等价类。
如输⼊值必须⼤于0,则有效等价类为输⼊值⼤于0 ,⽆效等价类为输⼊值⼩于或者等于0.3.在输⼊数据是⼀个bool常量的情况下,可以确定⼀个有效等价类和⼀个⽆效等价类。
4.在规定了输⼊数据由n个值构成的情况下,并要求定其中的每个值进⾏测试时,可以确定n个有效等价类和⼀个⽆效等价类。
如交通⼯具类型为公共汽车、卡车、出租车、⽕车或者摩托车,那么就应该为每⼀个输⼊值确定⼀个有效等价类和⼀个⽆效等价类例如拖车。
5.在规定了输⼊数据冰箱最受的规则的情况下,可以确定⼀个有效等价类和若⼲个⽆效等价类(从不同⾓度违反规则)。
等价类的名词解释
等价类的名词解释等价类是数学中一个重要的概念,特别在集合论、等价关系以及分类问题中得到广泛的应用。
等价类是将一个集合划分成不相交的子集,使得每个子集内的元素在某种意义下具有相同的特性或属性。
在本文中,我们将通过几个具体的例子来解释等价类的含义及其在不同领域的应用。
首先,我们以学生为例子来讲解等价类的概念。
假设我们有一个学生的数据集合,其中每个学生都有一个不同的学号。
我们可以将这个集合根据学生所属的年级来进行等价类划分。
每个学生的年级属性将成为划分的依据。
例如,所有一年级的学生构成一个等价类,所有二年级的学生构成一个等价类,以此类推。
这样的划分使得每个等价类内的学生具有相同的年级属性。
在实际应用中,等价类可以帮助学校管理年级级别、分配教室、排课等任务。
另一个例子是在电子商务中的用户分类。
当一个用户在平台上购买物品时,平台需要根据用户的购买行为将其分类,以便为其提供个性化的推荐。
用户的购买行为可以视为等价类的划分依据。
例如,我们可以将用户划分为经常购买电子产品的等价类、购买家居用品的等价类、购买时尚服饰的等价类等等。
根据用户所属的等价类,平台可以向用户提供与他们购买行为相匹配的相关商品推荐。
这样的分类可以提高用户购买满意度,并提升平台的销售业绩。
在计算机科学中,等价类也有重要的应用。
例如,在编程语言中,等价类测试被广泛应用于软件测试。
等价类测试是一种测试策略,目的是在给定的测试输入集合中选择代表性的测试用例,以覆盖系统的不同状态和行为。
等价类测试的核心思想是将输入值划分成不同的等价类,以保证测试用例的代表性和覆盖率。
例如,对于一个需要输入年龄的程序,我们可以将年龄分为少于18岁、18-30岁、31-45岁以及大于45岁等多个等价类。
然后,我们可以选择每个等价类的一个或多个输入值作为测试用例。
这样的测试方法可以有效地减少测试用例的数量,但又能够覆盖程序的不同行为。
此外,在社会学中,等价类也有着广泛的应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.某程序规定:"输入三个整数a 、b 、c 分别作为三边的边长构成三角形。
通过程
序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算… "。
用等价类划分方法为该程序进行测试用例设计。
(三角形问题的复
杂之处在于输入与输出之间的关系比较复杂。
)
分析题目中给出和隐含的对输入条件的要求:
(1)整数(2)三个数(3)非零数(4)正数
(5)两边之和大于第三边(6)等腰(7)等边
如果a 、b 、c 满足条件(1 )~ (4 ),则输出下列四种情况之一:
1)如果不满足条件(5),则程序输出为" 非三角形" 。
2)如果三条边相等即满足条件(7),则程序输出为" 等边三角形" 。
3)如果只有两条边相等、即满足条件(6),则程序输出为" 等腰三角形" 。
4)如果三条边都不相等,则程序输出为" 一般三角形" 。
列出等价类表并编号
覆盖有效等价类的测试用例:
a b c 覆盖等价类号码
3 4 5 (1)--(7)
4 4
5 (1)--(7),(8)
4 5 5 (1)--(7),(9)
5 4 5 (1)--(7),(10)
4 4 4 (1)--(7),(11)
覆盖无效等价类的测试用例:
2.设有一个档案管理系统,要求用户输入以年月表示的日期。
假设日期限定在1990年1
月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。
现用等价类划分法设计测试用例,来测试程序的"日期检查功能"。
(不考虑2月的问题)
1)划分等价类并编号,下表等价类划分的结果
输入等价类有效等价类无效等价类
2)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编号分别为①、⑤、⑧,设计的测试用例如下:
测试数据期望结果覆盖的有效等价类
200211 输入有效①、⑤、⑧
3)为每一个无效等价类设计一个测试用例,设计结果如下:
测试数据期望结果覆盖的无效等价类
95June 无效输入②
20036 无效输入③
2001006 无效输入④
198912 无效输入⑥
200401 无效输入⑦
200100 无效输入⑨
200113 无效输入⑩
3.NextDate 函数包含三个变量:month 、day 和year ,函数的输出为输入日期后
一天的日期。
例如,输入为2006年3月7日,则函数的输出为2006年3月8日。
要求输入变量month 、day 和year 均为整数值,并且满足下列条件:
①1≤month≤12
②1≤day≤31
③1920≤year≤2050
1)有效等价类为:
M1={月份:1≤月份≤12}
D1={日期:1≤日期≤31}
Y1={年:1812≤年≤2012}
2)若条件①~ ③中任何一个条件失效,则NextDate 函数都会产生一个输出,指明
相应的变量超出取值范围,比如"month 的值不在1-12 范围当中" 。
显然还存在着大量的year 、month 、day 的无效组合,NextDate 函数将这些组合作统一的输出:" 无效输入日期" 。
其无效等价类为:
M2={月份:月份<1}
M3={月份:月份>12}
D2={日期:日期<1}
D3={日期:日期>31}
Y2={年:年<1812}
Y3={年:年>2012}
弱一般等价类测试用例
月份日期年预期输出。