等价类划分法含例子

合集下载

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

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

⿊盒测试法——等价类划分法实验⽬的: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:某城市的电话号码由三部分组成。

这三部分的名称和内容分别是地区码:空白或三位数字;前缀:非’0’或’1’开头的三位数;后缀:四位数字。

假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码,就可用等价分类法来设计它的调试用例。

解:第一步:划分等价类,包括4个有效等价类,11个无效等价类。

表7-2-1列出了划分的结果。

在每一等价类之后加有编号,以便识别。

表7-2-1 电话号码程序的等价划分第二步:确定调试用例。

表7-2-1中有4个有效等价类,可以公用以下两个次数用例:(1)、(2)中各取一个对应合法的(3)、(4)即可。

对11个无效等价类,要选择11个调试用例,如下所示:调试数据范围期望结果(20A) 123-4567 无效等价类(5)无效(33 ) 234-5678 无效等价类(6)无效(7777) 345-6789 无效等价类(7) 无效(777) 34A-6789无效等价类(8) 无效(234) 045-6789无效等价类(9)无效(777) 145-6789无效等价类(10)无效(777) 34-6789 无效等价类(11)无效(777) 2345-6789 无效等价类(12)无效(777) 345-678A 无效等价类(13)无效(777) 345-678 无效等价类(14)无效(777) 345-56789 无效等价类(15)无效选取的调试数据可以不同,关键是与调试内容相符。

例2.NextDate 函数包含三个变量:month 、 day 和 year ,函数的输出为输入日期后一天的日期。

例如,输入为 2006年3月 7日,则函数的输出为 2006年3月8日。

要求输入变量 month 、 day 和 year 均为整数值,并且满足下列条件:①1≤month≤12②1≤day≤31③1920≤year≤20501)有效等价类为:M1={月份:1≤月份≤12}D1={日期:1≤日期≤31}Y1={年:1812≤年≤2012}2)若条件① ~ ③中任何一个条件失效,则 NextDate 函数都会产生一个输出,指明相应的变量超出取值范围,比如 "month 的值不在 1-12 范围当中" 。

等价类划分例题

;T0l)D.R$@ e7b9j0S s N T8l S1i-O2Z0 说明:本系统的单元测试主要以单个单元内部的消息传递和功能实现为主。

测试方法为等价类划分法。

51Testing软件测试网 t p D a;V { g&K"|1.新用户注册页面:{ f Y5d0\ _ P;E |/@ a"\0数据项取值:51Testing软件测试网)a%t+c.x x,w+~USER NAME:长度为3-19 ;以字母开头;非空。

(没用)51Testing软件测试网/y&v u |4Y)Q LE H-{ 姓名:非空。

51Testing软件测试网 M%T-W)h7l.z.\%{ ~密码:非空。

U h)d ` d C*I:} n0确认密码:值和密码值相同。

H+Y K Q"{ f0s p0出生年份:年——四位数字;月——1-12;日——1-31。

51Testing软件测试网0O [ R-`%` }#Z9L4D u+k0B其余项:不要求。

51Testing软件测试网 \ R%[+rq b%s"C G等价类的划分:等价类表。

%u D n9F.C3V s0数据项有效等价类无效等价类;U9s W K W0USER NAME (1)长3-19 ;(2)以字母开头; (1)长度<3;(2)非字母开头(3)长度>19 51Testing软件测试网&r2s.h9r B)r G3k)a.n姓名(3)非空(4)为空 51Testing软件测试网-W.W A ]+F } }!| P密码(4)非空(5)为空 51Testing软件测试网,\ G V f&m K2Z确认密码(5)值和密码值相同(6)值和密码值不同 51Testing软件测试网;_ ^ F+V"_ x g出生年份(6)月—1-12;(7)日—1-31(没有列出年份)(7)月日中有字母(分别列出;月日中有非数字符号)(8)月数字为负(零)(9)月数字大于12(10)年数中有字母(有非数字符号,年数在合理范围)(11)日数字为负(零)(12)日数字大于31(判断大月小月)*B0]I W5t!L0其余项(8)都填(9)都不填 51Testing软件测试网? N K(J#@0R z~*M @ U*q.P s'}6n h"l-_0 51Testing软件测试网 X;X#h;s4j \!w n51Testing软件测试网9Lm A o u h)U F51Testing软件测试网)r%U Rm4f D S/q51Testing软件测试网 SA!O y*s Q o~;h X H,A5L(v0测试用例及结果结果陈述S _\.j2R p0 USER NAME 姓名密码确认密码出生年份其余项所属等价类结果3s$I k P-k7E C k E j0有效等价类 aaaaaa aaaaaa aaaaaa aaaaaa 1977.8.22 空(1)—(7),(9) Y 51Testing软件测试网4l7q z:t'U-Q*gTttttt Tttttt tttttt Tttttt 1977.8.22 非空(1)—(8) Y)L/^9U$Z x c/T0无效等价类 t tttt tttt tttt 1972.8.22 (1) Y%^(f Q T e T:S0 qqqqqqqqqqdfasdfasdfasdfadfasdfad tttt tttt Tttt 1977.8.22 (3) NT6i { w I&P U0 111111 tttt tttt tttt 1977.8.22 (2) 提示不符)Bb I _ S m(y m0 zzzz 空 zzzz zzzz 1977.8.23 (4) Y&C;| w)R q.Y ? @$A b0 zzzz zzzz 空 zzzz 1977.8.22 (5) Y 51Testing软件测试网v x'N3@ | ]&E Wzzzz zzzz zzzz tttt 1977.8.22 (6) YZ8z X M%z0S;\0 ssss ssss ssss ssss 19a7.8.22 (10) Y 51Testing软件测试网} s ?1X { p6Dssss ssss ssss ssss 1977.8a.22 (7) N*Q m6J W ?:C(y v n j0G0 ssss ssss ssss ssss 1977.8.2a (7) N 51Testing软件测试网 X-P:w Q/S*S c+?ssss ssss ssss ssss 1977.-1.22 (8) YO o n o W0 ssss ssss ssss ssss 1977.81.22 (9) Y!L6x3e&R D _-NB @)v0 ssss ssss ssss ssss 1977.8.-2 tt (11) Y 51Testing软件测试网 a b l F \ J$c ssss ssss ssss ssss 1977.8.55 (12) Y"{ | a tm T y2x0 E A,T Vr02.忘记密码部分0N-u c#G sw E [V6j0数据项取值51Testing软件测试网 b3t U0y q0v k'r z登录用户名:已存在的用户名{3N }0u t%W7k o)?*^0用户的回答:和注册值相同d$F @ J)q8N0密码:>=551Testing软件测试网$\ Ru k.] h!q o ?'T \确认密码:值和密码值相同51Testing软件测试网8| Y K7F T;i1l2p P9| V等价类的划分51Testing软件测试网6b c ` B!G x9l数据项有效等价类无效等价类 51Testing软件测试网A R!o R1k N h登录用户名 (1)已存在 (1)不存在(是否正确)? b4G*B l2c0用户的回答(2)和注册值相同(2)和注册值不同 51Testing软件测试网 o:p z:w \ T.n U 密码(3)>=5 (3)<58q P'k W)D0A\ T z0密码确认 (4)值和密码值相同 (4)和密码值不同 u d$X r~-U VR V$j6`051Testing软件测试网-|-t:l'P G U r1K)i测试用例及结果结果陈述51Testing软件测试网L.| Y"e Q F1} Q V&c lw登录用户名用户的回答密码密码确认所属等价类结果r1R-u6i#A2a r0有效等价类 ttttt aaaaa aaaaa (1)-(4) Ys3L!P!A+[&~;N3b0无效等价类 Tttttta (1) Y 51Testing软件测试网 \;^8] t s M ttttt ccc (2) Y 51Testing软件测试网,U S z Z r kttttt aa aa (3) Y 51Testing软件测试网8K Q!I e9F c6n u+httttt aaaaa aaaaa (4) YZ1m `5hc/d0i W2r/J H x z03.登陆页面51Testing软件测试网 U A b1D+u数据项取值|:^3U @x+@;| x ]0用户名:已存在值)F d.g q.F0密码:和注册值相同51Testing软件测试网0K t1b \ re等价类的划分51Testing软件测试网5~ U8J D$k p L I;k)r数据项有效等价类无效等价类 51Testing软件测试网 a1n/p7o a f用户名 (1)已存在 (1)不存在 51Testing软件测试网8V$X-K @ s*Q K密码(2)和注册值相同(2)和注册值不同 51Testing软件测试网1O TD#} | R,]3} qv ` o6D+` t0M Q0测试用例及结果结果陈述t } Y z D$\ ^ u6X _0 用户名密码所属等价类结果S Y1E F {6R ` @ J ^ F-m0有效等价类 ttttt aaaaa (1)-(2) Ya y%kb K8\:M1W0无效等价类 Tttttta aaaaa (1) Y3b h V2u;P O T r8b0 ttttt tttt (2) YS m M |&f,Q6z.I0H P"Z d(d ]04.信箱首页51Testing软件测试网3u!] td a B9C S ~ ~数据项取值K*Q ?$H&l0待创建的文件夹名:不存在的文件夹名51Testing软件测试网!V { q Mh T*K t)K待删除的文件夹名:已存在的文件夹名51Testing软件测试网8x-a ?8B W x I N等价类的划分e ~,D Z)F0数据项有效等价类无效等价类 51Testing软件测试网-z z/o+L"| m待创建的文件夹名 (1) 不存在的文件夹名 (1)已存在(2)空值 51Testing软件测试网 V B/`(L#E3O)] 待删除的文件夹名(2)已存在的文件夹名(3)不存在(4)空值(非文件夹)1} A | A-O$^ m a E M051Testing软件测试网 `0N a5R/p5S测试用例及结果!}9G-n%D Xm0 输入操作所属等价类结果Y Q B \-A V a0有效等价类 Aa 创建(1) Y 51Testing软件测试网 S ? v-P!E Baa 删除(2) Y 51Testing软件测试网 F _)S T9{ [8?#a无效等价类 Aaa(已存在)创建(1) ND4i i PY%l K u0 创建(2) Y (t r{ Z N \ B o D k y0 ttttt 删除(3) NN az @M9h0 删除(4) Yd%`-c H g0c%IK-{ @ U$@05.发邮件3T4l l s @6} p q b(P(o2A0数据项取值7B0U ]C ] Z0收件人:7d*D v N(x o#b0定时发送时间:年——四位数字;月——1-12;日——1-31;51Testing软件测试网 m0a P5A i H*r其余项:不要求51Testing软件测试网$xL2V T.Q i l U-] y操作:寄出,存原稿,存地址薄,加附件,取消F [(a w'F u1V0等价类的划分51Testing软件测试网.E"R3A1M1\数据项有效等价类无效等价类 51Testing软件测试网 J b;Q a7[收件人 (1) 非空寄出(3)非空存原稿(4)非空加入地址薄(5)非空加附件(6)取消为空寄出(9)为空存原稿(10)为空加入地址薄(11)为空加附件51Testing软件测试网+F }-`L a(输入字符不合法) 51Testing软件测试网 ^4Dy m X4j w定时发送时间(2)年——四位数字;月——1-12;日——1-31 (3)月日中有字母(4)月数字为负(5)月数字大于12(6)年数中有字母(7)日数字为负(8)日数字大于31 51Testing软件测试网7D-yb0Qm p其余项(7)都填(8)都不填 51Testing软件测试网'C l O7r u%c(对于有效等价类,所有操作都要列出。

  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 无效输入⑩。

相关文档
最新文档