等价类划分法含例子

合集下载

黑盒测试法——等价类划分法

黑盒测试法——等价类划分法

⿊盒测试法——等价类划分法实验⽬的:1.掌握等价类划分的⽅法1. 掌握按等价类⽅法设计测试⽤例实验内容:1、请⽤等价类划分法为三⾓形问题划分等价类,并设计相应的测试⽤例,测试下⾯三⾓形问题程序,找出缺陷并改正,给出缺陷报告。

2、三⾓形问题:输⼊3个整数a 、b 、c ,分别作为三⾓形的3条边,通过程序判断由3条边构成的三⾓形的类型为等边三⾓形、等腰三⾓形、⼀般三⾓形或者3条边不构成三⾓形。

3、⽅案设计输⼊三条边a 、b 、c 必须满⾜以下条件:条件1: 1≤a≤100条件2: 1≤b≤100条件3: 1≤c≤100条件4: a <b +c条件5: b <a +c条件6: c <a +b如果输⼊值a 、b 、c 满⾜条件1、2、3,则输出下列四种情况之⼀:(1)如果不同时满⾜条件4、5、6,则程序输出“不构成三⾓形”。

(2)如果3条边相等,则程序输出为“等边三⾓形”。

(3)如果恰好有2条边相等,则程序输出为“等腰三⾓形”。

(4)如果3条边都不相等,则程序输出为“⼀般三⾓形”。

划分等价类输⼊条件输⼊三个整数 有效等价类 ⽆效等价类1、 整数2、 3个整数3、 ⾮0整数13、⼀边为⾮整数14、两边为⾮整数15、三遍为⾮整数16、数字个数⼩于317、数字个数⼤于318、⼀边为019、两边为020、三遍为021、⼀边⼩022、两边⼩于0 3、⾮0整数4、正数22、两边⼩于023、三边⼩于024、⼀边⼤于10025、两边⼤于100、三边⼤于100输出条件、 a+c>b、 b+c>a、b+c<=a、c+a<=b 、 a=b且满⾜5、 b=c且满⾜7、c=a且满⾜611、a=b=c12、不满⾜,6,7中的⼀个等价类划分测试⽤例等价类划分测试⽤例测试⽤例编号等价类条件测试⽤例预期结果a b c d11,2,3,4,5,6,7234 普通三⾓形21,2,3,4,5,6,7,8223 等腰三⾓形31,2,3,4,5,6,7,9232 等腰三⾓形41,2,3,4,5,6,7,10322 等腰三⾓形51,2,3,4,5,6,7,11222 等边三⾓形61,2,3,4,12123 不构成三⾓形71,2,3,4,5,6,7,13 2.134 不构成三⾓形(未测试) 81,2,3,4,5,6,8,14 2.1 2.13 不构成三⾓形(未测试) 91,2,3,4,5,6,9,15 2.1 2.1 2.1 不构成三⾓形(未测试) 101,3,4,,1623null 不构成三⾓形(未测试) 111,2,3,172343不构成三⾓形(未测试) 121,2,18023 抛出异常131,2,19002 抛出异常141,2,20000 抛出异常151,2,3,21-122 抛出异常161,2,3,22-1-22 抛出异常171,2,3,23-2-2-2 抛出异常181,2,3,4,241119999 抛出异常191,2,3,4,2511111199 抛出异常201,2,3,4,26111111111 抛出异常211,2,3,4,27235 不构成三⾓形221,2,3,4,28523 不构成三⾓形231,2,3,4,29253 不构成三⾓形。

如何划分等价类测试用例

如何划分等价类测试用例

如何划分等价类测试用例等价类测试是软件测试中常用的一种测试方法,它通过将输入和输出值划分为多个等价类来减少测试用例的数量,以提高测试的效率和覆盖率。

以下是如何划分等价类测试用例的详细说明。

一、什么是等价类测试等价类测试是一种基于黑盒测试的方法,它将所有的输入和输出值分成若干等价类,每一个等价类代表一组相同行为或结果的输入和输出值。

等价类测试的目的是减少测试用例的数量,提高测试效率和覆盖率。

二、如何划分等价类测试用例1. 无效等价类无效等价类包括那些不应该被接受或不符合要求的输入值。

例如,在考试中,学生的年龄必须大于等于18岁才能参加考试,那么小于18岁的学生就属于无效等价类。

2. 有效等价类有效等价类包括那些被接受或符合要求的输入值。

例如,在考试中,学生的年龄必须大于等于18岁才能参加考试,那么大于等于18岁的学生就属于有效等价类。

3. 边界值等价类边界值等价类是一组包含最小值、最大值和某个在中间范围内的值的等价类。

例如,在考试中,学生的分数必须在0-100之间,那么0和100就属于边界值等价类。

4. 特殊值等价类特殊值等价类包括那些具有特殊意义或重要性的值。

例如,在考试中,学生的分数为0或100就属于特殊值等价类。

三、等价类测试的优点及注意事项优点:1. 可以节省测试时间和成本。

2. 能够提高测试效率和覆盖率。

3. 可以减少测试用例的数量,提高测试效果。

注意事项:1. 划分等价类时要尽可能全面、准确地考虑所有可能的情况。

2. 必须确保每个等价类都具有独特的行为或结果。

3. 边界值等价类和特殊值等价类通常需要特别关注。

四、总结等价类测试是软件测试中一种常用的黑盒测试方法,通过将所有的输入和输出值划分为若干等价类,以减少测试用例的数量,提高测试效率和覆盖率。

在划分等价类时要注意全面、准确地考虑各种情况,必须确保每个等价类都具有独特的行为或结果。

边界值等价类和特殊值等价类通常需要特别关注。

测试用例设计练习

测试用例设计练习

测试⽤例设计练习⼀、等价类划分法例⼦1:现在有⼀个档案管理系统,容许⽤户通过输⼊年⽉对档案⽂件进⾏检索,系统对查询条件年⽉的输⼊限定为1990年1⽉-2049年12⽉,并规定,⽇期由6位数字组成,前4位表⽰年,后2位表⽰⽉。

1,根据需求进⾏分析,找出有哪些输⼊条件年份:【1990,2049】⽉份:【01,12】字符长度:6位字符类型:数字2,画出等价类输⼊条件有效等价类边界值分析⽆效等价类年份【1990,2049】(1)上点:1990,2049(12)离点:1989,2050点:2016<1990 (2)>2049 (3)⽉份【01,12】(4)上点:01,12(13)离点:00,13点:11<01 (5)>12 (6)字符长度6位(7)上点:6离点:5,7点:6<6 (8)>6 (9)字符类型数字(10)⾮数字(11)3,为每个等价类规定⼀个唯⼀编号(如上图)4,转换成测试⽤例转换测试⽤例的原则:A,设计⼀个测试⽤例尽可能多的覆盖多个有效等价类;B,设计⼀个测试⽤例必须对应覆盖⼀个⽆效等价类。

有效等价类⽤例:⽤例1:201611 (1)(4)(7)(10)⽆效等价类⽤例:⽤例2:198911 (2)⽤例3:205011 (3)⽤例4:201600 (5)⽤例5:201613 (6)⽤例6:20161 (8)⽤例7:2016113 (9)⽤例8:20161a/abcedf (11)根据边界值分析法分析后补充测试⽤例⽤例9:199001 (12)⽤例10:204912 (13)5,转成正式格式⽤例(⽤例写作的8⼤要素)例⼦2:(学⽣练习-参考例⼦)万年历查询软件,要求⽤户输⼊以年⽉⽇表⽰的⽇期,然后系统会换算出该⽇期的农历表⽰法及相关黄历信息。

假设⽇期限定在1990年1⽉1⽇~2049年12⽉31⽇,并规定⽇期由8位数字字符组成,前4位表⽰年,中间2位表⽰⽉,最后2位表⽰⽇期。

等价类划分

等价类划分

然数集合
[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

黑盒测试用例设计技术--等价类划分法

黑盒测试用例设计技术--等价类划分法

⿊盒测试⽤例设计技术--等价类划分法本⽂通过案例的形式,详细讲解⿊盒测试⽤例设计技术中的等价类划分法。

等价类划分是⼀种典型的⿊盒测试⽅法,其原理是把程序的输⼊域划分成若⼲部分(⼦集),然后从每⼀个⼦集中选取少数具有代表性的数据作为测试⽤例。

通过等价类划分,可以在尽可能覆盖所有测试路径的前提下,⼤幅度减少测试⽤例的数⽬。

本⽂的主要内容有:等价类的概念介绍划分等价类的原则根据等价类设计测试⽤例的⽅法案例演⽰划分等价类等价类是指某个输⼊域的⼦集合。

在该⼦集合中,各个输⼊数据对于揭露程序中的错误都是等效的。

并合理的假设,测试某等价类的代表值就等于对这⼀类其它值的测试。

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

⽆效等价类:指对程序的规格说明是不合理的或⽆意义的输⼊数据所构成的集合。

对于具体的问题,⽆效等价类⾄少应有⼀个,也可能有多个。

在设计测试⽤例时,要同时考虑有效等价类和⽆效等价类,以此验证软件在正常操作和异常操作时是否都能正常运⾏。

确定等价类的6条原则:1、在输⼊条件规定了取值范围或取值的个数的情况下,可以确⽴⼀个有效等价类和两个⽆效等价类。

例1:输⼊值是学⽣成绩,输⼊形式为⽂本框,要求的输⼊范围是0~100有效等价类:0<=输⼊成绩<=100;⽆效等价类1:输⼊成绩<0;⽆效等价类2:输⼊成绩>1002、在输⼊条件规定了输⼊值的集合或者规定了“必须如何”的条件的情况下,可以确⽴⼀个有效等价类和⼀个⽆效等价类。

例2:输⼊值是⼈员性别,输⼊形式为⽂本框,要求输⼊的内容必须在集合{男,⼥}中有效等价类:性别=’男’ 或者 ‘⼥’⽆效等价类:性别=’⼈妖’3、在输⼊条件是⼀个布尔量的情况下,可以确⽴⼀个有效等价类和⼀个⽆效等价类。

例3:输⼊值是状态标识位“是否完成”,输⼊形式为单选下拉框,选择范围为{是,否}有效等价类:选项=’是’ 或者 ‘否’⽆效等价类:未进⾏选择操作4、在规定了输⼊数据的⼀组值(假设N个),并且程序要对每⼀个输⼊值进⾏处理的情况下,可以确⽴N个有效等价类和⼀个⽆效等价类。

等价类划分法经典案例

等价类划分法经典案例

等价类划分法经典案例等价类划分法是一种常用的测试用例设计技术,它通过将可能的输入值划分为等价类来减少测试用例的数量,从而更有效地进行测试。

以下是一个经典案例,以帮助读者更好地理解等价类划分法的应用。

假设我们要测试一个用户注册系统,该系统要求用户输入用户名和密码进行注册。

根据等价类划分法,我们可以将输入值划分为以下几个等价类:1. 有效的用户名和密码:这个等价类包括符合规定格式的有效用户名和密码,比如包含字母和数字的组合。

这是正常情况下的输入值。

2. 无效的用户名:这个等价类包括不满足规定格式的用户名,比如只包含数字或只包含特殊字符。

这是一种错误的输入值。

3. 无效的密码:这个等价类包括不满足规定格式的密码,比如只包含数字或只包含特殊字符。

这也是一种错误的输入值。

4. 用户名为空:这个等价类指的是用户名为空的情况,即用户没有输入用户名。

这也是一种错误的输入值。

5. 密码为空:这个等价类指的是密码为空的情况,即用户没有输入密码。

这同样是一种错误的输入值。

根据以上等价类划分的结果,我们可以生成以下测试用例:1. 输入有效的用户名和密码,期望注册成功。

2. 输入无效的用户名和密码,期望注册失败并给出相应提示。

3. 输入无效的用户名,期望注册失败并给出相应提示。

4. 输入无效的密码,期望注册失败并给出相应提示。

5. 不输入用户名,只输入密码,期望注册失败并给出相应提示。

6. 不输入密码,只输入用户名,期望注册失败并给出相应提示。

通过以上测试用例,我们可以覆盖所有可能的等价类,从而验证用户注册系统的正确性和健壮性。

这样的测试用例设计能够有效地减少测试工作量,提高测试效率。

在实际测试过程中,我们还可以进一步细化等价类划分,比如针对无效的用户名,可以将其分为长度过短、长度过长、包含非法字符等子等价类,以更全面地覆盖各种错误情况,进一步提高测试覆盖率。

综上所述,等价类划分法是一种简洁实用的测试用例设计技术,通过将输入值划分为若干等价类,可以减少测试用例数量,同时确保对系统进行全面有效地测试。

等价类划分法

等价类划分法



设计测试用例的着眼点

根据产品规格,测试基本功能; 考虑设计一般用户(非专业人员)的使用方案; 考虑设计稀有或特殊的使用方案; 与系统其他组成部分的配合(如 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. 档案管理系统:用户输入以年月表示的日期,假设日期限定在1990年1月~2049年12月,规定日期由6位数字字符组成,前4位表示年,后2位表示月。

可以用等价类划分法设计测试用例,来测试程序的“日期检查功能”。

3. 佣金问题:根据销售额的不同,佣金的计算方式也不同。

可以根据佣金的输出值定义等价类,然后结合弱健壮测试用例来改进测试用例集合。

例如,对于一个销售额为500元的测试用例,其佣金应该为50元。

4. 找零问题:假设商店货品价格皆不大于100元(且为整数),若顾客付款在100元内,求找给顾客的最少货币个数。

可以根据输入和输出条件来分析无效和有效的输入和输出情形,并设计相应的测试用例。

以上例子仅供参考,如需更多等价类测试的例子,可以查阅软件测试相关书籍获取。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

在数轴上表示成:
(2) 如果输入条件规定了输入值的集合,或者是规定了“必须如何”的条件,这时可确立一个有效等价类和一个无效等价类。

例如,在Pascal语言中对变量标识符规定为“以字母打头的……串”。

那么所有以字母打头的构成有效等价类,而不在此集合内(不以字母打头)的归于无效等价类。

(3) 如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类。

(4) 如果规定了输入数据的一组值,而且程序要对每个输入值分别进行处理。

这时可为每一个输入值确立一个有效等价类,此外针对这组值确立一个无效等价类,它是所有不允许的输入值的集合。

例如,在教师上岗方案中规定对教授、副教授、讲师和助教分别计算分数,做相应的处理。

因此可以确定4个有效等价类为教授、副教授、讲师和助教,一个无效等价类,它是所有不符合以上身分的人员的输入值的集合。

(5) 如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。

例如,Pascal语言规定“一个语句必须以分号‘;’结束”。

这时,可以确定一个有效等价类“以‘;’结束”,若干个无效等价类“以‘:’结束”、“以‘,’结束”、“以‘’结束”、“以LF结束”等。

(6)在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等
价类进一步的划分为更小的等价类。

5.确立测试用例
在确立了等价类之后,建立等价类表,列出所有划分出的等价类。

再从划分出的等价类中按以下原则选择测试用例:
(1) 为每一个等价类规定一个唯一编号;
(2) 设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;
(3) 设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。

6.用等价类划分法设计测试用例的实例
(1)在某一PASCAL语言版本中规定:“标识符是由字母开头,后跟字母或数字的任意组合构成。

有效字符数为8个,最大字符数为80个。

”并且规定:“标识符必须先说明,再使用。

”“在同一说明语句中,标识符至少必须有一个。


用等价类划分方法,建立输入等价类表:
下面选取了9个测试用例,它们覆盖了所有的等价类。

①VAR x,T1234567:REAL;
BEGIN x := 3.414;
T1234567 := 2.732;
...…
(1), (2), (4), (8), (9), (12), (14)
②VAR :REAL;(3)
③VAR x,:REAL; (5)
④VAR T12345678:REAL;(6)
⑤VAR T12345......:REAL;(7)
多于80个字符
⑥VAR T$:CHAR;(10)
⑦VAR GOTO:INTEGER;(11)
⑧VAR 2T:REAL;(13)
⑨VAR PAR:REAL;(15)
BEGIN ......
PAP := SIN (3.14 * 0.8) / 6;
(2).某程序规定:"输入三个整数a 、b 、c 分别作为三边的边长构成三角形。

通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算…".用等价类划分方法为该程序进行测试用例设计。

(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。

)分析题目中给出和隐含的对输入条件的要求:
(1)整数(2)三个数(3)非零数(4)正数(5)两边之和大于第三边(6)等腰(7)等边如果a 、b 、c 满足条件( 1 )~ ( 4 ),则输出下列四种情况之一:
1)如果不满足条件(5),则程序输出为" 非三角形" .
2)如果三条边相等即满足条件(7),则程序输出为" 等边三角形" .
3)如果只有两条边相等、即满足条件(6),则程序输出为" 等腰三角形" .
4)如果三条边都不相等,则程序输出为" 一般三角形" .列出等价类表并编号
2.设有一个档案管理系统,要求用户输入以年月表示的日期。

假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。

现用等价类划分法设计测试用例,来测试程序的"日期检查功能".
1)划分等价类并编号,下表等价类划分的结果
2)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编号分
别为①、⑤、⑧,设计的测试用例如下:
测试数据期望结果覆盖的有效等价类:
200211 输入有效①、⑤、⑧
3)为每一个无效等价类设计一个测试用例,设计结果如下:
测试数据期望结果覆盖的无效等价类:
95June 无效输入②
20036 无效输入③
2001006 无效输入④198912 无效输入⑥200401 无效输入⑦200100 无效输入⑨200113 无效输入⑩。

相关文档
最新文档