等价类与边界值练习题解
黑盒测试用例设计方法之等价类和边界值

⿊盒测试⽤例设计⽅法之等价类和边界值⼀、等价类划分等价类划分是⼀种重要的、常⽤的⿊盒测试⽅法,不需要考虑程序的内部结构,只需要考虑程序的输⼊规格即可。
它将不能穷举的测试过程进⾏合理分类,从⽽保证设计出来的测试⽤例具有完整性和代表性。
1、等价类的分类 有效等价类:指符合《需求规格说明书》,输⼊合理的数据集合。
⽆效等价类:指不符合《需求规格说明书》,输⼊不合理的数据集合。
2、等价类思考步骤 (1)先确定有效和⽆效等价类 (2)有效等价类就是题⽬条件(两端的极值(边界值)要判断、中间随意⼀个值也要判断) (3)⽆效等价类先划分与条件相反的情况,再找到特殊情况(中⽂、英⽂、符号、空格、空)3、例题:A、测试QQ账号,账号的要求是 6---10位正整数。
B、⼿机号码1. 某城市的电话号码由三部分组成。
这三部分的名称和内容分别是地区码:空⽩或三位数字;前 缀:⾮’0’或’1’开头的三位数;后 缀:四位数字。
解:第⼀步:划分等价类,包括4个有效等价类,11个⽆效等价类。
第⼆步:确定调试⽤例。
对11个⽆效等价类,要选择11个调试⽤例,如下所⽰:3、等价类分类总结通过上⾯的案例,我们可以总结⼀下,当我们在测试⽂本框的程序可以考虑如下的情况:a:⽂本框要求输⼊的长度b:输⼊的类型c:组成规则d:是否为空e:是否重复---区分⼤⼩写,f:是否去除空格⼆、边界值分析1.什么是边界值分析法?边界条件,是指输⼊和输出等价类中那些恰好处于边界、或超过边界、或在边界⼀下的状态。
边界值分析法也是⼀种常⽤的⿊盒测试⽅法。
特别要注意的是:⼤量的错误是发⽣在输⼊或输出范围的边界上,⽽不是在输⼊范围的内部。
我们先来看⼀个例题,解释⼀下为什么要⽤边界值。
题⽬:输⼊的参数值必须⼤于0同时⼩于100的整数。
接下来我们来看程序员写的⼀段代码:number = int(input("输⼊的参数值必须⼤于0同时⼩于100的整数:"))if 100 >= number >= 18:print("输⼊的数据合法")else:print("输⼊的数据不符合要求")各位思考⼀下,这⾥⾯有什么问题呢。
[试题]ok等价类划分和边界值分析法实例
![[试题]ok等价类划分和边界值分析法实例](https://img.taocdn.com/s3/m/2720e6d44128915f804d2b160b4e767f5acf8060.png)
一、等价类划分法实例:1.输入条件为某个范围的取值:例:在某大学学籍管理信息系统中,假设学生年龄的输入范围为16~40,则根据黑盒测试中的等价类划分技术,它的有效和无效等价类分别为?2.输入条件为输入值的集合:例:假设PowerPoint打印输出幻灯片的页数分别为{1,2,3,6,9 },则根据黑盒测试中的等价类划分技术,它的有效和无效等价类分别为?3.输入为BOOL变量,它的有效和无效等价类分别为?4.输入条件中由若干规则组成,其中各个规则都是独立的:例:一条输入的字符串中不能含有“#”和“&”两个特殊字符(其他字符都是合法的)的规则,它的有效和无效等价类分别为?5.输入条件由一个合法的规则组成:例:某个变量的取值必须为100,那么它的有效和无效等价类分别为?6.为输入条件的组合关系划分等价类:输入条件同时满足x>10和y<200两个判断表达式决定,那么它的有效和无效等价类分别为?二、边界值分析法实例:1.大小范围边界例:若10≤x≤200,利用边界值分析法需要选择哪些测试数据?若10<x<200,利用边界值分析法需要选择哪些测试数据?2.极限边界当给出的整数是无限制范围时,它的边界便是整数的最大值和最小值。
例:16位的有符号整数,它的边界是?利用边界值分析法需要选择哪些测试数据?3.NextDate函数的边界值分析测试用例在NextDate函数中,隐含规定了变量month和变量day的取值范围为1≤month≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050。
利用边界值分析法选择测试数据进行测试用例设计,完成下表。
等价类与边界值练习题解

解答:等价类一、某程序规定:”输入三个整数 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 45 (1)--(7),(8)4 5 5 (1)-—(7),(9)5 4 5 (1)—-(7),(10)4 4 4 (1)——(7),(11)覆盖无效等价类的测试用例:二、设有一个档案管理系统,要求用户输入以年月表示的日期。
假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。
现用等价类划分法设计测试用例,来测试程序的”日期检查功能"。
1)划分等价类并编号,下表等价类划分的结果输入等价类有效等价类无效等价类日期的类型及长度①6位数字字符②有非数字字符③少于6位数字字符④多于6位数字字符年份范围⑤在1990~2049之间⑥小于1990⑦大于2049月份范围⑧在01~12之间⑨等于00⑩大于122)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编号分别为①、⑤、⑧,设计的测试用例如下:测试数据期望结果覆盖的有效等价类200211 输入有效①、⑤、⑧3)为每一个无效等价类设计一个测试用例,设计结果如下:测试数据期望结果覆盖的无效等价类95June 无效输入②20036 无效输入③2001006 无效输入④198912 无效输入⑥200401 无效输入⑦200100 无效输入⑨200113 无效输入⑩边界值:一、当变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050 ,请设计边界值测试用例:测试用例 mouth day year 预期输出Test1 6 15 1911 year超出【1912...2050】Test1 6 15 1912 1912.6.15Test1 6 15 1913 1913。
等价类和边界值测试用例举例

等价类和边界值测试用例举例等价类和边界值测试是软件测试中常用的测试方法,能够有效地发现系统中的错误和问题。
在进行等价类和边界值测试时,需要将输入值划分为不同的等价类,并选择边界值进行测试。
下面将以某个电子商务网站的注册功能为例,列举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个字符通过以上的等价类和边界值测试用例,可以覆盖到各种可能的输入情况,包括空值、边界值、非法字符等。
等价类和边界值方法的结合例题

等价类和边界值方法的结合例题等价类和边界值方法的结合例题:让测试不再头疼的神奇秘籍嗨,亲爱的小伙伴们!今天我要给你们分享一个超级厉害的测试方法,那就是等价类和边界值方法的结合。
这就像是给你的测试工作来了一场魔法变身,让那些隐藏的小怪兽(bug)无处可逃!首先咱们来聊聊啥是等价类。
想象一下,你面前有一堆水果,有苹果、香蕉、橙子、梨。
如果咱们把水果按照能剥皮和不能剥皮来分类,那能剥皮的就是一类,不能剥皮的就是另一类。
这就是等价类啦,就是把输入的东西按照相似的特性分成几类。
比如说,咱们要测试一个登录功能,用户名要求是 6 - 12 位的字母和数字组合。
那等价类就可以分为:有效的用户名(6 - 12 位的字母和数字组合)、太短的用户名(小于 6 位)、太长的用户名(大于 12 位)、包含非法字符的用户名(比如有特殊符号)。
接下来就是边界值啦!这就像是走钢丝,钢丝的两端就是边界。
比如说用户名要求是 6 - 12 位,那边界值就是 6 位、12 位,还有 5 位、13 位。
好啦,现在咱们来看看怎么把这俩结合起来搞个例题。
假设咱们要测试一个购物车结算功能,商品数量输入范围是 1 - 100 件。
第一步,先划分等价类。
有效等价类就是 1 - 100 件的输入,无效等价类呢,有小于 1 件(比如 0 件),大于 100 件(比如 101 件),还有非数字的输入(比如字母啥的)。
第二步,确定边界值。
那就是 1 件、100 件、0 件、101 件。
第三步,开始测试啦!先试试有效等价类里的中间值,比如50 件,看看有没有问题。
然后再试试边界值,输入 1 件,看看能不能正常结算;输入 100 件,瞅瞅有没有异常。
接着输入 0 件,看看系统会不会报错;最后输入 101 件,瞧瞧是不是会有提示说数量不对。
我跟你们说,我之前有一次测试的时候,就忘了考虑边界值,结果上线后,有个用户一下子买了 1000 件商品,系统直接崩溃啦!老板那个脸拉得比驴脸还长,我那叫一个惨哟!再给你们举个例子,比如说测试一个输入年龄的功能,范围是 18 - 60 岁。
[练习] 等价类和边界值
![[练习] 等价类和边界值](https://img.taocdn.com/s3/m/3e68d041f7ec4afe04a1dfbf.png)
[练习 1]
已知某城市的电话号码由地区码、前缀和后缀三部分组成,书写格式为 XXX-YYY-ZZZZ。其中:
(1) 地区码:空白或三位数字。
(2) 前缀:非 0 或 1 开头的三位数字。
(3) 后缀:任意四位数字。
现假设被测试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码。请使用等价划分法设计一组适合该程序的测试用例。
请使用等价划分法和边界值法设计一组适合该程序的测试用例。
[练习 3]
已知移动公司的管理系统中提供了根据手机号码查询用户信息的功能。请使用等价划分法为手机号码的输入框设计一组测试用例。
提示:假定移动手机卡的号段为:134,135,136,137,138,150,158,159。
[练习 4]
提示:测试用例中应包含4个有效等价类和11个无效等价类。
[练习 2]
已知某程序的用户注册页面包含如下字段和要求:
(1) 用户名:长度 3~19,必须以字母开头,不能为空。
(2) 密码:长度 4~8,不能为空Байду номын сангаас
(3) 出生日期:由年月日组成的长度为 8 位的字符串,如 19801102。
请为中国象棋游戏中的棋子【马】设计一组测试用例。
[黑盒测试基本方法]之等价类与边界值word精品文档8页
![[黑盒测试基本方法]之等价类与边界值word精品文档8页](https://img.taocdn.com/s3/m/ce6b5aab856a561252d36f8a.png)
测试用例设计方法之等价类划分与边界值分析1.等价类划分1.1.前言我们知道软件测试是根据软件开发各个阶段的规格说明和程序的内部结构而精心设计一批测试用例,并利用这些测试用例运行软件,以发现软件错误的过程。
但在设计测试用例时,往往程序的输入是不可能穷举的。
因此,我们在测试某个程序时就被限制在从所有的输入条件中挑选某个小的子集来设计测试用例。
选择这个子集的前提是必须保证子集是正确的,保证子集尽可能的发现最多的错误,保证子集能代表其他大部分的测试用例,保证子集的数量是最为合理的。
1.2.定义在前言中提到的“子集”,因为他们一个个具有代表性的集合,我们将这个“子集”称为等价类。
等价类是指某个输入域的子集合。
在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某个等价类的代表值就等于对这一类其他值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。
等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。
1.3.方法应用使用等价类划分方法来做测试,主要分两个步骤:确定等价类,生成测试用例。
1.3.1.确定等价类确定等价类的过程是根据规格说明选取每一个输入条件将其划分为两个或更多的组。
一般将等价类分为两类,有效等价类和无效等价类。
有效等价类代表对程序的有效输入。
无效等价类代表的则是其他任何可能的不正确的输入。
遵循“有效”,“无效”这个两个原则我们可以设计一个等价类表,确定等价类的结果就是生成一个等价类表。
1.3.2.生成测试用例根据第一步的等价类表来生成测试用例,其过程如下:1.为每一个等价类设置一个不同的编号2.编写新的测试用例,尽可能多地覆盖那些尚未被覆盖的有效等价类,直到所有的有效等价类都被测试用例所覆盖。
也就可理解为一个测试用用例可以涵盖多个有效等价类。
测试方法(等价类划分、边界值、错误推测)

边界条件
通常情况,软件测试所包含的边界检验有几种类型:数字、字 符、位置、重量、大小、速度、方位、尺寸、空间等 相应地,以上类型的边界值应该在:最大/最小、首位/需求规格说明 末位、 上/下、最快/最慢、最高/最低、 最短/最长、 空/满等
项 字符 边界值 起始-1个字 符/结束 +1个字符 最小值-1/最 大值+1 测试用例的设计思路 假设一个文本输入区域允许输入1个到255个字符,输入1 个和255个字符作为有效等价类;输入0个和256个字 符作为无效等价类,这几个数值都属于边界条件值。 假设某软件的数据输入域要求输入5位的数据值,可以使 用10000作为最小值、99999作为最大值;然后使用刚 好小于5位和大于5位的数值来作为边界条件。 例如在用U盘存储数据时,使用比剩余磁盘空间大一点( 几KB)的文件作为边界条件。
等价类划分的方法
1、明确输入条件规定的取值范围或值的个数 2、确立一个有效等价类和两个无效等价类。 如:有一个文本框,要求输入值是学生成绩 A. 明确成绩的范围是0~100; B. 有效等价类 0《成绩《100 C. 无效等价类 1 成绩<0 无效等价类 2 成绩>100
等价类划分的方法
输入条件规定了输入值的集合或者规定了 “必须如何”的条件的情况下,可确立一个有 效等价类和一个无效等价类; 如 用户密码 当输入条件是一个布尔量且限制是以单选 方式输入时,可确定两个有效等价类。 如 性别以单选按钮选择或下拉框选择
2
规定值的个数
3
根据规格说明书的每个输出条件,使用 原则1、 2 输入或输出是个有 序集合 程序中使用一个内 部数据结构 集合的第一个、最后一个 元素 内部数据结构边界上的值
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
解答:
等价类
一、某程序规定:"输入三个整数 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)
覆盖无效等价类的测试用例:
二、设有一个档案管理系统,要求用户输入以年月表示的日期。
假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。
现用等价类划分法设计测试用例,来测试程序的"日期检查功能"。
1)划分等价类并编号,下表等价类划分的结果
日期的类型及长度①6位数字字符②有非数字字符
③少于6位数字字符
④多于6位数字字符
年份范围⑤在1990~2049之间⑥小于1990
⑦大于2049
月份范围⑧在01~12之间⑨等于00
⑩大于12
2)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编号分别为①、
⑤、⑧,设计的测试用例如下:
测试数据期望结果覆盖的有效等价类
200211 输入有效①、⑤、⑧
3)为每一个无效等价类设计一个测试用例,设计结果如下:
测试数据期望结果覆盖的无效等价类
95June 无效输入②
20036 无效输入③
2001006 无效输入④
198912 无效输入⑥
200401 无效输入⑦
200100 无效输入⑨
200113 无效输入⑩
边界值:
一、当变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year 的取值范围为1912≤year≤2050 ,请设计边界值测试用例:
测试用例 mouth day year 预期输出
Test1 6 15 1911 year超出【1912...2050】
Test1 6 15 1912 1912.6.15
Test1 6 15 1913 1913.6.15
Test1 6 15 2049 2049.6.15
Test1 6 15 2050 2050.6.15
Test1 6 15 2051 year超出【1912...2050】
Test1 6 -1 2001 day超出【1...31】
Test1 6 1 2001 2001.6.1
Test1 6 2 2001 2001.6.2
Test1 6 30 2001 2001.6.30
Test1 6 31 2001 2001.6.31
Test1 6 32 2001 day超出【1...31】
Test1 -1 15 2001 mouth超出【1...12】
Test1 1 15 2001 2001.1.15
Test1 2 15 2001 2001.2.15
Test1 11 15 2001 2001.11.15
Test1 12 15 2001 2001.12.15
Test1 13 15 2001 mouth超出【1...12】
二、三角形问题的边界值分析测试用例
在三角形问题描述中,除了要求边长是整数外,没有给出其它的限制条件。
在此,我们将三角形每边边长的取范围值设值为[1, 100] 。