软件测试用例2(等价类)
如何划分等价类测试用例

如何划分等价类测试用例等价类测试是软件测试中常用的一种测试方法,它通过将输入和输出值划分为多个等价类来减少测试用例的数量,以提高测试的效率和覆盖率。
以下是如何划分等价类测试用例的详细说明。
一、什么是等价类测试等价类测试是一种基于黑盒测试的方法,它将所有的输入和输出值分成若干等价类,每一个等价类代表一组相同行为或结果的输入和输出值。
等价类测试的目的是减少测试用例的数量,提高测试效率和覆盖率。
二、如何划分等价类测试用例1. 无效等价类无效等价类包括那些不应该被接受或不符合要求的输入值。
例如,在考试中,学生的年龄必须大于等于18岁才能参加考试,那么小于18岁的学生就属于无效等价类。
2. 有效等价类有效等价类包括那些被接受或符合要求的输入值。
例如,在考试中,学生的年龄必须大于等于18岁才能参加考试,那么大于等于18岁的学生就属于有效等价类。
3. 边界值等价类边界值等价类是一组包含最小值、最大值和某个在中间范围内的值的等价类。
例如,在考试中,学生的分数必须在0-100之间,那么0和100就属于边界值等价类。
4. 特殊值等价类特殊值等价类包括那些具有特殊意义或重要性的值。
例如,在考试中,学生的分数为0或100就属于特殊值等价类。
三、等价类测试的优点及注意事项优点:1. 可以节省测试时间和成本。
2. 能够提高测试效率和覆盖率。
3. 可以减少测试用例的数量,提高测试效果。
注意事项:1. 划分等价类时要尽可能全面、准确地考虑所有可能的情况。
2. 必须确保每个等价类都具有独特的行为或结果。
3. 边界值等价类和特殊值等价类通常需要特别关注。
四、总结等价类测试是软件测试中一种常用的黑盒测试方法,通过将所有的输入和输出值划分为若干等价类,以减少测试用例的数量,提高测试效率和覆盖率。
在划分等价类时要注意全面、准确地考虑各种情况,必须确保每个等价类都具有独特的行为或结果。
边界值等价类和特殊值等价类通常需要特别关注。
测试用例-等价类

测试⽤例-等价类等价类概念 等价类划分就是把被测对象的输⼊域划分为若⼲个集合,对于某个集合中的某个元素和该集合中的任⼀元素的表征⼀致, 然后从每个划分的集合中取出少数的数据作为测试⽤例;对于某个被测对象的输⼊域⽽⾔,如果某个个体被系统接受,则这个 个体所在的集合中的其他所有个体也应该被接受,反之亦然。
等价类划分 a.有效等价类 针对被测对象⽽⾔,合理的,有意义的,被系统接受的输⼊,如⽤户名长度在6-18 b.⽆效等价类 针对被测对象⽽⾔,不合理,⽆意义的,不被系统接受的输⼊,如⽤户名0<=长度<6或长度>18等价类划分原则序号输⼊域条件等价类划分1规定取值范围或取值个数⼀个有效等价类和两个⽆效等价类2规定取值是真假值⼀个有效等价类和⼀个⽆效等价类3规定输⼊数据的⼀组值(n个)并且程序要对每个值分别处理n个有效等价类和⼀个⽆效等价类4输⼊数据必须遵守某个规则⼀个有效等价类和若⼲个⽆效等价类5规定输⼊数据的集合或‘必须如何’的条件⼀个有效等价类和⼀个⽆效等价类6在确知已划分的等价类中各元素在程序处理中的⽅式不同的情况下,则应再将该等价类进⼀步的划分为更⼩的等价类等价类划分不确定⽤例设计原则 a.根据需求,划分有效及⽆效等价类,有效等价类统⼀编号,⽆效等价类统⼀编号 b.设计⼀个新的测试⽤例时,使其尽可能覆盖所有尚未覆盖的有效等价类,直到所有的有效等价类都被覆盖 c.设计⼀个新的测试⽤例时,使其仅覆盖⼀个⽆效等价类,直到所有的⽆效等价类都被覆盖等价类划分的本质 等价类划分的本质在于对被测对象输⼊域的识别和对等价类的划分案例栗⼦1,某个⽹站的⽤户名注册有如下要求,1)⽤户名由数字,字母,下划线组成2)⽤户名字符长度在6~183)⽤户名以字母开头。
这是⼀个简化版的注册,只有⼀个输⼊框(⽤来填写⽤户名)和⼀个注册按钮,暂时不考虑密码。
⽤等价类划分设计测试⽤例。
等价类测试用例

等价类测试用例
等价类测试是一种软件测试方法,用于确定软件系统的输入或输出是否符合预期。
以下是一个使用等价类测试的示例:
假设我们正在测试一个电子商务网站的登录功能。
该登录功能接受用户名和密码作为输入,并验证用户的身份。
我们可以定义两个等价类:
有效等价类:包含有效的用户名和密码组合,这些组合应该能够通过登录验证。
无效等价类:包含无效的用户名和密码组合,这些组合应该无法通过登录验证。
然后,我们可以设计一些测试用例来覆盖这些等价类:
1. 有效等价类测试用例:
- 正确的用户名和正确的密码,预期结果:登录成功。
- 正确的用户名和错误的密码,预期结果:登录失败,显示错误消息。
- 错误的用户名和正确的密码,预期结果:登录失败,显示错误消息。
2. 无效等价类测试用例:
- 空的用户名和空的密码,预期结果:登录失败,显示错误消息。
- 空的用户名和正确的密码,预期结果:登录失败,显示错误消息。
- 空的密码和正确的用户名,预期结果:登录失败,显示错误消息。
- 错误的用户名和空的密码,预期结果:登录失败,显示错误消息。
- 错误的用户名和错误的密码,预期结果:登录失败,显示错误消息。
- 超长的用户名或密码,预期结果:登录失败,显示错误消息。
通过执行这些测试用例,我们可以验证登录功能是否正确处理了有效和无效的用户名和密码组合,并确保系统在各种情况下的行为符合预期。
请注意,这只是一个简单的示例,实际的等价类测试可能需要根据被测试的软件系统的具体需求和功能进行调整和扩展。
2-2等价类划分法1 共31页

等价类划分法
等价类划分法测试用例设计
等价类划分法测试用例设计的步骤: (1)划分并标识等价类
标识所有输入,对每个输入进行等价类划分,形成等价类 表,每一等价类规定一个唯一的编号;
(2)为有效等价类设计测试用例
设计一测试用例,使其尽可能多地覆盖正尚面未测覆试用盖例的有效 等价类,重复这一步骤,直到所有有效等价类均被测 试用例所覆盖;
课上练习: 输入条件说明输入字符为:中文、英文、 阿拉伯文三种之一,则它的有效等价类和 无效等价类分别是什么?
等价类划分法
划分等价类的规则
(4)如果规定了输入数据必须遵循的规则, 可确定一个有效等价类(符合规则)和若 干个无效等价类(从不同角度违反规则)。
例4:在C语言中规定了“一条语句必须以‘;’作为
等价类划分法例2:
标准的Save as对话框
Windows文件名可以包含 除了[、/: * ?“ < > | ] 之外的任意字符,文件名 不能为空格。文件名 长 度为1~255个字符。
测试实践
分析测试需求
• 长度不超过255个字符 • 不能只含有空格 • 不能包含以下字符:、/: * ?”< > |
测试实践 完成测试用例
步骤1 :划分等价类 • 首先确定司龄的有步效输骤入1范:围:划0~分70等价类
• 但0~70范围内的数据处理是不一样的,根据需求, 很容易看出可划分为4个有效等价类(valid Equivalence Class)
测试实践
除了正确的输入数据外,不正确的输入数据也必须进 行测试。因此,还要找出无效等价类。
运行程序,并分析 代码结构
回顾
以下测试属于哪一类? 1、测试产品说明书 2、带上眼罩测试软件 3、审查设计和代码 4、检查代码并观察运行情况
等价类划分法测试用例

等价类划分法测试用例等价类划分法是一种常用的测试用例设计方法,它将输入数据分成若干等价类,每个等价类中的数据在被测试程序中的处理是一样的。
通过设计测试用例覆盖不同的等价类,可以最大程度地覆盖被测程序的各种情况,提高测试效率。
在设计测试用例时,通常会考虑以下几个方面:1.有效等价类:每个有效等价类包含被测试程序能够接受的有效输入数据。
例如,对于一个需要输入年龄的程序,可以将年龄从0到150划分为一个有效等价类,因为这个范围内的年龄都是可接受的有效输入。
2.无效等价类:每个无效等价类包含被测试程序不能接受的输入数据。
例如,对于一个需要输入性别的程序,将性别划分为男和女两个有效等价类,其他任何值都可以认为是一个无效等价类。
3.边界等价类:边界等价类是指等价类的边界情况,通常会包含边界值以及边界值的前后一个值。
例如,对于一个需要输入年龄的程序,边界等价类可以是(-1, 0, 1),(149, 150, 151),这样可以覆盖到边界情况。
下面我将以一个简单的登录系统为例,来详细介绍等价类划分法的测试用例设计。
假设登录系统需要输入用户名和密码,验证登录是否成功。
1.有效等价类:-用户名和密码都是有效的:例如,用户名为"admin",密码为"123456"。
-用户名是有效的,但密码是无效的:例如,用户名为"admin",密码为"abcde"。
-用户名是无效的,但密码是有效的:例如,用户名为"guest",密码为"123456"。
2.无效等价类:-用户名和密码都是无效的:例如,用户名为"abcde",密码为"abcde"。
-用户名是无效的,密码是有效的:例如,用户名为"abcde",密码为"123456"。
-用户名是有效的,密码是无效的:例如,用户名为"admin",密码为"abcde"。
软件测试的等价类划分法概述

• 设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 未婚
第六章 软件测试等价类测试

{<a, c>: b+c D6 = {<a,b,c>:a≥b+c } {<a, c>: a+C D7 = {<a,b,c>:b≥a+C } {<a, c>: a+b D8 = {<a,b,c>:c≥a+b }
计算机软件测试
NextDate函数的等价类测试用例 NextDate函数的等价类测试用例
确定等价类: 确定等价类:
有效等价类: 有效等价类: M1 = {月份:1≤月份 月份: 月份 月份≤12} 月份 D1 = {日期:1≤日期 日期: 日期 日期≤31} 日期 Y1 = {年:1812≤年≤2012} 年 年 无效等价类: 无效等价类: M2 = {月份:月份 月份: 月份 月份<1} M3 = {月份:月份 月份: 月份 月份>12} D2 = {日期.:日期 日期. 日期<1} 日期 D3 = {日期:日期 日期: 日期 日期>31} Y2 = {年:年<1812} 年 Y3 = {年:年>2012} 年
计算机软件测试强健壮等价类测试用例计算机软件测试1请以nextdate函数的36个强一般等价类测试用例为基础按所讨论的那样修改日期类然后找出其他9个测试用例2如果使用强类型语言编译器请讨论怎样才能执行健壮等价类测试用例3请针对包含了直角的扩展三角形问题来修改弱一般等价类集合4请对比单多缺陷假设与边界值测试和等价类测试计算机软件测试5对电话账单来说春季和秋季的标准时间与夏时制时间的转换会带来有意思的问题
g f e a b c d
计算机软件测试
弱一般等价类测试
• •
弱一般等价类测试是基于单缺陷假设的; 弱一般等价类测试是基于单缺陷假设的; 弱一般等价类测试通过使用一个测试用例中的每个等价 区间)的一个变量实现。 类(区间)的一个变量实现。
等价类和边界值测试用例举例

等价类和边界值测试用例举例等价类和边界值测试是软件测试中常用的测试方法,能够有效地发现系统中的错误和问题。
在进行等价类和边界值测试时,需要将输入值划分为不同的等价类,并选择边界值进行测试。
下面将以某个电子商务网站的注册功能为例,列举10个符合题目要求的等价类和边界值测试用例。
1. 等价类测试用例:用户名- 等价类1: 用户名为空- 等价类2: 用户名长度小于3个字符- 等价类3: 用户名长度大于20个字符- 等价类4: 用户名包含非法字符(如特殊符号、空格等)- 等价类5: 用户名已存在2. 边界值测试用例:用户名- 边界值1: 用户名长度等于3个字符- 边界值2: 用户名长度等于20个字符- 边界值3: 用户名长度大于3个字符,小于20个字符3. 等价类测试用例:密码- 等价类1: 密码为空- 等价类2: 密码长度小于6个字符- 等价类3: 密码长度大于16个字符- 等价类4: 密码包含非法字符(如特殊符号、空格等)4. 边界值测试用例:密码- 边界值1: 密码长度等于6个字符- 边界值2: 密码长度等于16个字符- 边界值3: 密码长度大于6个字符,小于16个字符5. 等价类测试用例:邮箱- 等价类1: 邮箱为空- 等价类2: 邮箱格式不正确(缺少@或后缀不正确)- 等价类3: 邮箱已存在6. 边界值测试用例:邮箱- 边界值1: 邮箱长度等于5个字符- 边界值2: 邮箱长度等于254个字符- 边界值3: 邮箱长度大于5个字符,小于254个字符7. 等价类测试用例:手机号码- 等价类1: 手机号码为空- 等价类2: 手机号码格式不正确(长度不为11位或不以1开头) - 等价类3: 手机号码已存在8. 边界值测试用例:手机号码- 边界值1: 手机号码长度等于10位- 边界值2: 手机号码长度等于11位- 边界值3: 手机号码长度大于10位,小于11位9. 等价类测试用例:验证码- 等价类1: 验证码为空- 等价类2: 验证码不正确10. 边界值测试用例:验证码- 边界值1: 验证码长度等于3个字符- 边界值2: 验证码长度等于6个字符- 边界值3: 验证码长度大于3个字符,小于6个字符通过以上的等价类和边界值测试用例,可以覆盖到各种可能的输入情况,包括空值、边界值、非法字符等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
等价类划分
ATM取款案例
– 允许提取增量为50元人 民币
– 总额为从50到5000元不 等的人民币(含5000元)
– 不考虑由于硬件原因造成 的提取错误
等价类划分
等价类
等价类表
序号 1 …… 功能项 提取现金 …… 有效等价类 50≤取钱数≤5000 …… 编号 2 …… 无效等价类 编号
测试用例设计方法
第2章:等价类
等价类划分基本概念
等价类划分就是解决如何选择适当的数据子集来 代表整个数据集的问题,通过降低测试的数目去 实现“合理的”覆盖,覆盖了更多的可能数据, 以发现更多的软件缺陷。输入的整数值在-99到99
之间(包含-99和99)。 – 非法输入应被拒绝,并显 示错误信息。
等价类划分基本概念
6. 若输入条件是集合,且程序会对每个值进行不同的处 理,则应为每个输入值确定一个有效等价类,其它数 据为一个无效等价类。
输入数据是交通工具,且类型必须是公共汽 车、出租车、地铁或自行车。
本章内容
等价类划分法步骤
等价类典型习题
下面以最经典的三角形问题来说明如何使用等价类边界值方法设计测 试用例: 输入3个整数,判定是否构成三角型,并判定什么时候是等腰三角 形,什么时候是等边三角形。 分析输入条件: 1、3个整数 2、任意两边和大于第三遍 3、满足1、2,且只有两个边相等 4、满足1,三遍全部相等
六条确定等价类的原则5
等价类划分典型参考
5. 若规定输入数据必须遵守的规则,则可以确立一个有 效等价类(符合规则)和若干个无效等价类(从不同 角度违反规则)。
在两位整数加法器中,-99~99的整数是一 个有效等价类,小数、字母、特殊字符等 的输入构成若干无效等价类。
六条确定等价类的原则6
等价类划分典型参考
等价类典型按理
等价类典型按理
– 设计一个测试用例,使它能够覆盖一个无效等价类。重复该操作, 从而使所有无效等价类均被覆盖
测试用例编号 1
输入数值 -50+24
所属等价类 2
预期输出 正确输出:-26
2
3
-130+77
-9+125
1
3
错误信息
错误信息
等价类划分
细化等价类
等价类划分
细化后的等价类表
序号
1
功能项
两位整数加法
取钱数<50 取钱数>5000
……
1 3
……
等价类划分
测试用例
测试用例编号 1 输入数值 20 所属等价类 1 预期输出 错误信息
2
3
1000
6000
2
3
提取1000元现金
错误信息
细化等价类思路
– 在50-5000的等价类中细分成50的倍数的有效等价类和 非50的倍数的无效等价类。
– 考虑输入特别大的数目是否会引起系统崩溃。
标识符的首字符必须为字母。
六条确定等价类的原则2
等价类划分典型参考
2. 若某个输入条件对取值范围进行了规定,则可划分一 个有效等价类和两个无效等价类。
在两位整数加法器中,-99~99是一个有效
等价类,小于-99和大于99是两个无效等价 类。
六条确定等价类的原则3
等价类划分典型参考
3. 如果输入条件是一个布尔量,则可以确定一个有效等 价类和一个无效等价类。
…… …… ……
两位整数加法等价类划分
划分等价类
等价类划分
设计等价类表
序号
1
功能项
两位整数加法
有效等价类
-99≤加数取值≤99
编号
2
无效等价类
加数取值<-99 加数取值>99
编号
1 3
2
……
……
……
……
……
等价类划分
设计测试用例
– 为等价类表中的每一个等价类分配一个唯一的编号 – 设计一个测试用例,使它能够尽量覆盖尚未覆盖的有效等价类。 重复该操作,从而使所有有效等价类均被覆盖
有效等价类
-99≤加数取值<0 0≤加数取值≤99
编号
2 3
无效等价类
加数取值<-99 加数取值>99
编号
1 4
细化后的测试用例
测试用例编号
1 2 3 4 5
输入数值
50+2 -63+(-20) -30+10 -130+77 -9+125
所属等价类
3 2 2, 3 1 4
预期输出
正确输出:52 正确输出:-83 正确输出:-20 错误信息 错误信息
如果使用单选按钮选择“性别”作为输入 值,且要求正确输入为“女”,则有效等 价类是“女”,无效等价类是“男” 。
六条确定等价类的原则4
等价类划分典型参考
4. 若已划分的某等价类中的各元素在程序中的处理方式 不同,则应将此等价类进一步划分成更小的等价类。
在两位整数加法器中,考虑到程序中可能 存在的正数和负数的处理方式不同,故对 等价类进行了进一步的细化。
等价类划分方法
– 是一种最为典型的黑盒测试方法 – 要对需求说明书中的各项需求,尤其是功能需求进行 细致分析 – 把程序的输入划分成若干个部分,从每个部分中选取 少数代表性数据作为测试用例
等价类划分法案例
“两位以内整数加法器”程序
输入两个整数,相加后,结果正确显示。要求:
– 输入的整数值在-99到99 之间(包含-99和99)。 – 非法输入应被拒绝,并显 示错误信息。
等价类划分疑问
如何为“两位整数加法器”设计用例?
输入1 输入2 1. 在测试了 1+ 1、 1+ 2、 1+(-1)和1+(-2预期结果 )之后,还 1 1 2 是否有必要测试1+3、1+4……?
1
2
3
2. 不对两位整数加法器进行穷举测试,能否放心地认为其他 1 -1 0 1 -2 -1 的参数组合都是正确的?
等价类划分
等价类的假设
– 如果等价类中的一个测试用例能够捕获缺陷,那么选 择该等价类中的其他测试用例也能够捕获该缺陷。
– 如果等价类中的一个测试用例不能捕获缺陷,那么选 择该等价类中的其他测试用例也不能够捕获该缺陷。
六条确定等价类的原则1
等价类划分典型参考
1. 若某个输入条件说明了一个必须成立的情况,则可划 分一个有效等价类和一个无效等价类 。