等价类划分法实例
黑盒测试法——等价类划分法
⿊盒测试法——等价类划分法
实验⽬的: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、两边⼩于0
23、三边⼩于0
24、⼀边⼤于100
25、两边⼤于100
、三边⼤于100
输出条件、 a+c>b
、 b+c>a
10等价类划分法含例子习题
设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。现用等价类划分法设计测试用例,来测试程序的"日期检查功能".
1)划分等价类并编号,下表等价类划分的结果
2)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编号分
别为①、⑤、⑧,设计的测试用例如下:
3)为每一个无效等价类设计一个测试用例,设计结果如下:
测试数据期望结果覆盖的无效等价类:
等价类划分法实例
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覆盖等价类号码
345(1)--(7)
445(1)--(7),(8)
455(1)--(7),(9)
545(1)--(7),(10)
444(1)--(7),(11)
覆盖无效等价类的测试用例:
2.设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990年1
月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。
现用等价类划分法设计测试用例,来测试程序的"日期检查功能"。(不考虑2月的问题)
1)划分等价类并编号,下表等价类划分的结果
2)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编号分别为①、⑤、⑧,设计的测试用例如下:
等价类法
5
6.
1
男
已婚
6
7.
99
Child
未婚
1
8.
30
Male
离婚
3
9.
75
Female 未婚
0
10. 17
Male
已婚
10
无法 推算 无法 推算 无法 推算 无法 推算 无法 推算 无法 推算 无法 推算
有 效 年 龄 性 别 婚 姻 扶 养 年 龄 率 年 龄 率 性 别 率 性 别 率 婚 姻 率. 扶 养 险 费 扶 养 险 费
等价类法
等价类合理地假设:某个等价类的代表值,与 该等价类的其他值,对于测试来说是等价的。 因此,可以把全部的输入数据划分成若干的等 价类,在每一个等价类中取一个数据来进行测 试。 这样就能以较少的具有代表性的数据进行测试, 而取得较好的测试效果。
等价类法
等价类的划分有两种不同的情况: 等价类的划分有两种不同的情况:
7.婚 姻
「 已 婚 」
8.婚 姻
「 未 婚 」
9.扶 养 人 空 白 数 10.扶 养 1 ~ 6 人数 11.扶 养 7 ~ 9 人数 12.保 险 10 点 以 上 (0.6 %) 费率 13.保 险 10 点 以 下 (0.6 %) 费率
小 於 1 , 选 一 个
大 於 9 , 选 一 个
等价类划分法举例
等价类划分法
1. 引言
在软件测试过程中,等价类划分法是一种常用的测试设计技术。它将输入和输出的可能取值范围划分为若干个等价类,只需要选择一个代表性的值进行测试,从而减少测试用例的数量和测试工作的复杂性。本文将通过举例详细介绍等价类划分法的原理、应用和实施步骤。
2. 原理
等价类划分法基于以下原理:对于每个等价类中的测试用例,其执行结果应该具有相同的特性。因此,从每个等价类中选择一个测试用例就可以代表该等价类的其他测试用例。
3. 应用场景
等价类划分法适用于各种软件测试环境,特别适用于输入和输出具有较大取值范围的情况。下面通过一个简单的示例来说明等价类划分法的应用。
4. 示例:登录系统
假设要测试一个登录系统,用户名和密码是必须输入的字段,且用户名只能由字母和数字组成,密码由字母、数字和特殊字符组成。根据等价类划分法,我们可以将用户名分为以下三个等价类:1)合法的用户名,2)用户名为空,3)用户名含有非法字符。将密码分为以下三个等价类:1)合法的密码,2)密码为空,3)密码过于简单。
4.1 用户名的等价类划分
1)合法的用户名:包含字母和数字的用户名,例如”john123”。
2)用户名为空:没有输入任何用户名。
3)用户名含有非法字符:包含除字母和数字外的其他字符的用户名,例
如”john#123”。
4.2 密码的等价类划分
1)合法的密码:包含字母、数字和特殊字符的密码,例如”Pass123!“。
2)密码为空:没有输入任何密码。
3)密码过于简单:只包含字母或数字的密码,例如”password”。
《一个等价类划分的例子(三角形)》
范例:程序规定;输入三个整数作为三边的边长构成三角形。当此三角形为一般三角形、等腰三角形、等边三角形时,分别作计算。用等价类划分方法为该程序进行测试用例设计。
解:设a、b、c代表三角形的三条边。
1)分析题目中给出的和隐含的对输入条件的要求:
a)整数
b)3个数
c)非零数
d)正数
e)两边之和大于第三边
f)等腰
g)等边
2)列出等价类表并编号
有awtfr知编号
V ♦£
号Q
输入3个整数Q 整薮21。
一边为非整数0
a为非整数□1加
b为驻整数一13/
C为非整数214-
两边为非整数3
a、b为非整数15。
b、c为非整数。心
a、c为非整数。17一
三边都为非整教―史
三个数Q2。
只缓3波
只给a“1卯
只给按2“
只给221/
只给两边。
只徐a、%2加
只给b、323。
只给a、c,24/
给出三个以上225/
3。
一边为察
a=0。2W
b=0- 27,
c=g 2豺
两边为*
a=b=0 曰2"
b=c=Ck 30,
a-c-0^ 3W
三边都为零a=b=c=0^ 32。正处4/
—边.<0/
a<“33/
b<0<?34/
c<0^ 35-
两边。
a<0 且b<OP 36。
b<0且c<驴37,
a<0 且c<0。38-
三边《0。a<0且b<0且c
《(K
3如
构成一般三弟形。a+-b>c^ 5。
a+bvcQ 4W
a+b=c" 41/ b+cAa—
b+c〈a—4加
b+c—p 43/ "c>b。7P
a+c<b^ 44/
a十C M DF45-
构成等腰三角形。
等价类划分法举例
等价类划分法举例
等价类划分法是软件测试中常用的一种测试设计技术。在进行测试之前,我们需要对被测系统进行分析和划分,将其按照不同的特性划分成若干个等价类,然后针对每个等价类设计测试用例,这样可以最大限度地提高测试效率和覆盖率,减少测试成本和人员投入。
下面,我们来举个例子,以便更好地理解等价类划分法。假设我们要测试一个登录页面,该页面需要用户输入用户名和密码才能登录系统。那么,我们该如何进行等价类划分呢?
首先,我们需要对用户名和密码两个输入框进行分析,分别确定特性和对应的范围。比如,用户名可以由数字、字母、下划线组成,且长度应在6-12位之间。而密码的长度应在8-16位之间,且必须包含数字、大小写字母和特殊字符。
根据以上规则,我们就可以将用户名和密码分别划分成若干个等价类,如下所示:
- 用户名:长度小于6位,长度等于6-12位,长度大于12位,包含非法字符
- 密码:长度小于8位,长度等于8-16位,长度大于16位,不包含数字或大小写字母或特殊字符
接下来,我们需要针对每个等价类设计测试用例。比如,对于用户名长度小于6位的情况,我们可以输入长度为5的用户名,然后验
证是否能够正常登录。同理,对于密码不包含数字、大小写字母或特殊字符的情况,我们可以输入不符合要求的密码,以验证系统是否能够正确处理这种情况。
通过使用等价类划分法,我们可以有效地对被测系统进行分析和测试,提高测试效率和准确性,减少测试成本和资源投入。同时,也需要注意在设计测试用例时,要充分考虑完整性和覆盖率,以确保测试结果的可靠性和准确性。
等价类划分法
实践环节
测试用例设计概述
测试用例的定义和特征 测试用例的基本准则 设计测试用例的着眼点
测试用例设计书写标准
Return
测试用例的定义和特征
测试用例的定义: (1)测试用例是为特定的目的而设计的一组测试输入、 执行条件和预期的结果。
(2)测试用例是执行的最小实体。 测试用例的特征: (1)最有可能抓住错误的; (2)不是重复的、多余的; (3)一组相似测试用例中最有效的; (4)既不是太简单,也不是太复杂。
三角形问题与NextDate函数(续)
2、NextDate函数
- NextDate函数说明另一种复杂的关系,即输入变量之间逻辑关系的复 杂性。 - NextDate函数包含三个变量month、day和year,函数的输出为输入日 期后一天的日期。 要求输入变量month、day和year均为整数值,并 且满足下列条件:
等价类的划分原则
பைடு நூலகம்
采用等价类划分法设计测试用例通常分两步 进行: (1)确定等价类,列出等价类表。 (2)确定测试用例。
等价类的划分
划分等价类可分为两种情况:
(1)有效等价类
- 是指对软件规格说明而言,是有意义的、合理的输入 数据所组成的集合。利用有效等价类,能够检验程序是否 实现了规格说明中预先规定的功能和性能。 (2)无效等价类 - 是指对软件规格说明而言,是无意义的、不合理的输 入数据所构成的集合。利用无效等价类,可以鉴别程序异 常处理的情况,检查被测对象的功能和性能的实现是否有 不符合规格说明要求的地方。
等价类划分法含例子
1.等价类划分法
等价类划分是一种典型的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。
等价类划分方法把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据做为测试用例。
使用这一方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步。2.划分等价类:
等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。
等价类的划分有两种不同的情况:
①有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
②无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。
在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。
3.划分等价类的标准:
1)完备测试、避免冗余;
2)划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整
个集合;
3)并是整个集合:完备性;
4)子集互不相交:保证一种形式的无冗余性;
5)同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映
等价类划分法经典案例
等价类划分法经典案例
等价类划分法是一种常用的测试用例设计技术,它通过将可能的
输入值划分为等价类来减少测试用例的数量,从而更有效地进行测试。以下是一个经典案例,以帮助读者更好地理解等价类划分法的应用。
假设我们要测试一个用户注册系统,该系统要求用户输入用户名
和密码进行注册。根据等价类划分法,我们可以将输入值划分为以下
几个等价类:
1. 有效的用户名和密码:这个等价类包括符合规定格式的有效用
户名和密码,比如包含字母和数字的组合。这是正常情况下的输入值。
2. 无效的用户名:这个等价类包括不满足规定格式的用户名,比
如只包含数字或只包含特殊字符。这是一种错误的输入值。
3. 无效的密码:这个等价类包括不满足规定格式的密码,比如只
包含数字或只包含特殊字符。这也是一种错误的输入值。
4. 用户名为空:这个等价类指的是用户名为空的情况,即用户没
有输入用户名。这也是一种错误的输入值。
5. 密码为空:这个等价类指的是密码为空的情况,即用户没有输
入密码。这同样是一种错误的输入值。
根据以上等价类划分的结果,我们可以生成以下测试用例:
1. 输入有效的用户名和密码,期望注册成功。
2. 输入无效的用户名和密码,期望注册失败并给出相应提示。
3. 输入无效的用户名,期望注册失败并给出相应提示。
4. 输入无效的密码,期望注册失败并给出相应提示。
5. 不输入用户名,只输入密码,期望注册失败并给出相应提示。
6. 不输入密码,只输入用户名,期望注册失败并给出相应提示。
通过以上测试用例,我们可以覆盖所有可能的等价类,从而验证
用户注册系统的正确性和健壮性。这样的测试用例设计能够有效地减
等价类划分原则及作业
– 有效等价类:①专科、②本科、③硕士、④博士 – 无效等价类:①其它任何学历
7
等价类划分的原则
• 5、在规定了输入数据必须遵守的规则的情况下, 可确立一个有效等价类(符合规则)和若干个无 效等价类(从不同角度违反规则) 。
• 例如:规定必须输入非0的正整数。 应充分考虑是否可以拆分为单一的子规则,然后 得到从不同角度违反规则的无效等价类。 该例子起码可拆分为非0、数字、正数、整数4个 子规则,至少每个规则对应一个无效等价类,即0、 字符串、负数、小数,甚至可挖掘出输入为空的 隐含等价类。
测试数据 200105
期望结果
覆盖范围
输入有效 等价类①②③
12
Βιβλιοθήκη Baidu
第三步:为每一个无效等价类至少设计一个测试用例
本例的10个等价类至少需要8个测试用例
13
案例分析(三)
例3:对招干考试系统“输入学生成绩”子 模块设计测试用例。
招干考试分三个专业,准考证号第一位为专业代号, 如: 1-行政专业,
2-法律专业, 3-财经专业.
4
等价类划分的原则
• 3、在输入条件是一个布尔量的情况下,可确 定一个有效等价类。
• 例如:单选的选中与不选中。 ○男生 ●女生
5
等价类划分的原则
测试用例设计方法——等价类划分法
测试⽤例设计⽅法——等价类划分法等价类划分法
等价类的定义:输⼊具有代表性的数据⼦集。等价类分为:
有效等价类:满⾜需求的
⽆效等价类:不满⾜需求的
等价类设计步骤
1. 明确需求
2. 确定有效和⽆效等价类
有效等价类就是题⽬条件(两端的极值(边界值)要判断、中间随意⼀个值也要判断)
⽆效等价类先划分与条件相反的情况,再找到特殊情况(中⽂、英⽂、符号、空格、空)
编写测试⽤例:对于所有的⽆效等价类,测试⽤例要尽量全覆盖,⼀条测试⽤例尽可能的覆盖所有有效等价类
等价类划分法案例1
QQ账号: 6---10位⾃然数
等价类划分法案例2
某城市电话号码由三部分组成,分别是
地区码:空⽩或是3位数字
前缀:⾮‘0’且⾮‘1’开头的三位数字
后缀:4位数字
例⼦:1232341234
等价类划分法案例3 -⽤户名(昵称)长度为 3-19:以字母开头-登录名称:⾮空
-密码:⾮空
-确认密码:值和密码相同
适⽤范围
适⽤范围:只要存在输⼊的功能
实例介绍等价类划分法
实例介绍等价类划分法
在软件测试的活动中,穷尽法无疑是最安全最保险的一种方法,但也是成本代价高到不可能实现的一种方法,或许一个软件的所有输入和操作还没有穷尽完,这个软件都没有存在的必要了,甚至测试人员都要老死了。所以,前辈们为我们准备了等价类划分法,该方法是指将输入划分为若干集合,每个集合表示效果相同的一类,在测试时只需从每个集合中抽取一个即可测试出被测软件对于该集合所有输入的表现,以便于我们能够以最小的代价完成最有效的测试。
何谓等价类?某些数据的集合,该集合内的每个数据都是等效的,那么可以将该集合视为等价的一类。何谓等效?对于计算机软件而言,即对于数据的处理过程以及处理结果都完全一致。处理结果完全一致很容易理解,处理过程还要完全一致吗?我们举个例子来说吧,比如判断某年是否是闰年,闰年的计算方法是公元纪年的年数可以被四整除,即为闰年;被100整除而不能被400整除为平年;被100整除也可被400整除的为闰年。那么虽然1900和1991年都是平年,但却不能将其简单视为等价类,因为1991不可被4整除、不可被100整除、不可被400整除,而1900,可被4整除、可被100整除、不可被400整除,无论程序如何编写,他们都会经过不同的判断逻辑,只测其中一个时,就无法覆盖到其他的判断语句,所以,划分等价类时,应掌握必须使同类数据的处理过程及处理结果完全一致的大原则。
等价类分为有效等价类和无效等价类,有效等价类就是由那些对程序的规格说明有意义的、合理的输入数据所构成的集合;无效等价类就是那些对程序的规格说明不合理的或无意义的输入数据所构成的集合。划分等价类时,除了应掌握必须使同类数据的处理过程及处理结果完全一致的大原则外,针对于以下场景相应的划分原则可供参考:
等价类划分法实例
基本概念:
等价类:对应用程序的规格(接口)的输入数据构成的集合
有效等价类:对应用程序的规格说明来说是合理的有意义的输入数据;
无效等价类:
六条确定等价类的原则
1、在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类(在范围之内的等价类)和两个无效等价类(有效范围的两侧)。
2、在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,则可以确立一个有效等价类和一个无效等价类。(集合中的有效等价类和集合外的无效等价类)
3、在输入条件是一个布尔量的情况下,可以确立一个有效等价类和一个无效等价类。
4、在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可以确立n个有效等价类和一个无效等价类(除了规定的这组值)。
5、在规定了输入数据必须遵守的规则(pattern)的情况下,可以确立一个有效等
价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
6、在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类(考虑一下if嵌套)。
等价类划分法确定测试用例的步骤:
1、按照上面的原则确立等价类;
2、建立等价类表,列出所有划分出的等价类;
3、从划分出的等价类中按以下的3个原则设计测试用例;
为每一个等价类规定一个唯一的编号;
设计一个新的测试用例,使其尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止。
设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。
等价类划分经典实例-三角形测试用例设计
等价类划分经典实例-三⾓形测试⽤例设计
测试背景:
某程序规定:"输⼊三个整数 a 、 b 、 c 分别作为三边的边长构成三⾓形。通过程序判定所构成的三⾓形的类型,当此三⾓形为⼀般三⾓形、等腰三⾓形及等边三⾓形时,分别作计算 … "。⽤等价类划分⽅法为该程序进⾏测试⽤例设计。(三⾓形问题的复杂之处在于输⼊与输出之间的关系⽐较复杂。)
分析题⽬中给出和隐含的对输⼊条件的要求:
(1)整数 (2)三个数 (3)⾮零数 (4)正数 (5)两边之和⼤于第三边 (6)等腰 (7)等边
如果 a 、 b 、 c 满⾜条件( 1 ) ~ ( 4 ),则输出下列四种情况之⼀:
1)如果不满⾜条件(5),则程序输出为 " ⾮三⾓形 " 。
2)如果三条边相等即满⾜条件(7),则程序输出为 " 等边三⾓形 " 。
3)如果只有两条边相等、即满⾜条件(6),则程序输出为 " 等腰三⾓形 " 。
4)如果三条边都不相等,则程序输出为 " ⼀般三⾓形 " 。
⽆效等价类:
针对所有的输⼊条件来分析,输⼊⽆效则满⾜⽆效等价类
有效等价类:
针对输⼊条件,满⾜输⼊条件的则为有效等价类
使用等价类划分法设计测试用例的一个实例
使用等价类划分法设计测试用例的一个实例
一个最简单实例:
功能描述:
一个加法计算器,输入加数和被加数,点击按钮“等于”自动得到结果。其中加数和被加数为输入框,加数和被加数的范围为0-1024.且只能为整数,等于为按钮,结果自动显示。
下面是划分的等价类:
- 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}
弱一般等价类测试用例
月份日期年预期输出