等价类与边界值练习题解
黑盒测试用例设计方法之等价类和边界值
⿊盒测试⽤例设计⽅法之等价类和边界值⼀、等价类划分等价类划分是⼀种重要的、常⽤的⿊盒测试⽅法,不需要考虑程序的内部结构,只需要考虑程序的输⼊规格即可。
它将不能穷举的测试过程进⾏合理分类,从⽽保证设计出来的测试⽤例具有完整性和代表性。
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等价类划分和边界值分析法实例
一、等价类划分法实例: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 岁。
[练习] 等价类和边界值
[练习 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页
测试用例设计方法之等价类划分与边界值分析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 输入或输出是个有 序集合 程序中使用一个内 部数据结构 集合的第一个、最后一个 元素 内部数据结构边界上的值
项目:NextDate()函数-等价类、边界值法(student)
项⽬:NextDate()函数-等价类、边界值法(student)项⽬:NextDate( )函数测试需求:NextDate 函数包含三个变量:month 、day 和year ,函数的输出为输⼊⽇期后⼀天的⽇期。
例如,输⼊为2006年3⽉7⽇,则函数的输出为2006年3⽉8⽇。
要求输⼊变量month 、day 和year 均为整数值,并且满⾜下列条件:①1≤month≤12②1≤day≤31③1912≤year≤2050要求:⿊盒测试、等价类划分法、边界值分析法分析:此函数的主要特点是输⼊变量之间的逻辑关系⽐较复杂。
复杂性的来源有两个:⼀个是输⼊域的复杂性,另⼀个是指闰年的规则。
例如变量year和变量month取不同的值,对应的变量day会有不同的取值范围,day值的范围可能是1~30或1~31,也可能是1~28或1~29。
⼀、等价类划分法设计测试⽤例1、简单等价类划分测试NextDate函数分析:(1)有效等价类知识点:有效等价类是指对软件规格说明⽽⾔,由有意义的、合理的输⼊数据所组成的集合。
利⽤有效等价类,能够检验程序是否实现了规格说明中预先规定的功能和性能。
简单等价类划分测试NextDate函数可以划分以下三种有效等价类:M1={month:1≤month≤12}D1={day:1≤day≤31}Y1={year:1912≤year≤2050}(2)⽆效等价类知识点:⽆效等价类是指对软件规格说明⽽⾔,由⽆意义的、不合理的输⼊数据所构成的集合。
利⽤⽆效等价类,可以鉴别程序异常处理的情况,检查被测对象的功能和性能的实现是否有不符合规格说明要求的地⽅。
若条件M1,D1,Y1中任何⼀个条件⽆效,那么NextDate 函数都会产⽣⼀个输出,指明相应的变量超出取值范围,例如month 的值不在1~12 范围当中。
显然还存在着⼤量的year 、month 、day 的⽆效组合,NextDate 函数将这些组合统⼀输出为:“⽆效输⼊⽇期”。
等价边界值
.边界值说明:由于程序开发过程中边界是最容易出现bug的地方,所以有了边界值法重点检查。
适用场合:有数据输入的地方,一般可以使用,边界值法跟等价类划分法一起使用,形成一套完善的测试方法。
例如性别,有效等价类男、女。
无效等价无。
如何使用:找到有效等价类和无效等价类的分界点(最大和最小),及其两边的点,(次边界)进行重点测试。
1、说明:如果测试时间紧张,会优先测试边界点(最大和最小),有时间在测试次边界2、边界值的数据本质上是属于某个等价类的范围,要求单独测试,实质上是一种冗余,但工作中必须要测,为了更好的测试质量。
(变界是最容易出bug的地方)3、等价类和边界值的综合测试:提出问题:在一条用例中只测试1个控件的一个有效数据,(有效等价类、有效边界值),比较简单,适合初学者,存在不必要冗余如何解决?----用例的优化(用例数会减少)注意:优化是用来处理有效数据的在一条用例中可以尽可能多的测试不同控件的1个有效数据(不同控件的有效数据可以组合起来测)效果:在测试质量不变的情况下,减少测试用例的数量四、无效数据怎么测?首先:1条用例只能测试1个控件的1个无效数据。
(单独测,不能组合,)避免发生屏蔽现象。
屏蔽现象:前面控件弹出错误提示后,后面的错误提示就弹不出来,就是屏蔽了。
选取测试数据不要极端等价类和边界值应用步骤:1、独立分析每个控件的有效等价类和边界值和无效数据控件的等价类和边界值2、把分析结果填入《数据分析表》3、综合分析数据,形成测试思路,最后编写测试用例测试思路:1)先测有效数据(1条用例尽可能测多个控件的有效数据的组合,一定会减少测试用例的数量,实现优化)2)在测无效数据(无效数据+无效边界值,每个控件的每个无效数据要单独测,避免屏蔽现象)3)最后在时间允许的情况下补充无效数据的组合,(多个控件无效数据组合,和1个控件多个无效数据组合)1---3000整数是等价类1.00-3000.00一样二、等价划分+边界值总结1、有效等价类好找,一半来自需求而且数量少,使用有效等价类的测试称为:通过测试或正向测试2、无效等价类数量较多,使用无效等价类的测试称为:失败测试或反向测试3、无效等价类长考虑哪些因素:1)要求“不能为空”不能为空2)要求“不能重复”3)要考虑范围(包括数的范围,字符个数的范围,)4)整数的类型(要测小数,字母,符号,汉字)要求是数(小数)就测:字母,符号,汉字小数有小数位数要求——要测小数点后位数的超出范围的情况4、关于小数的边界值:1)小数的次边界值要根据小数位数的要求取值例如:精确到小数点后2位,那么间隔单位为0.012)小数的位数也需要考虑边界值例如:小数点后2位边界值:小数点后2位次边界:小数点后1位小数点后3位补充:关于小数的有效等价类只要需求中没有明确说明是小数,那么默认既有小数范围也有整数范围三、测试用例的用途1、防止缺陷的遗漏2、版本的重复测试3、监督测试的过程(可以评估工作量)4、评估结果(对测试的完成情况进行评估,对产品也能进行评估)5、提高测试效率,缩短周期(版本升级和更新,只要修整部分测试用例,用力资源可以重用)四、对测试人员有什么要求(写测试用例的时候)?1、基本要求:能够把1条测试用例写好(基本标准:就是别人按照你写的用例可以顺利的执行)2、更高的要求;综合分析形成测试思路,逻辑清晰,测试要全面完善,(标准:测试覆盖率高,遗漏bug少)。
习题解答1_v2.0
习题解答第三章黑盒测试及其用例1、NextDate函数(P28)请使用等价类划分法为NextDate函数列出输入域等价类表,并设计相应的测试用例。
解答:NextDate函数包含三个变量month、day和year,函数的输出为输入日期后一天的日期。
要求输入变量month、day和year均为整数值,并且满足下列条件:条件1 1≤month ≤12条件2 1≤day ≤31条件3 1912≤year ≤2050分析程序规格说明中给出和隐含的对输入条件的要求。
列出等价类表*年份:闰年、非闰年(1912≤year ≤2050)*月份:1-12月*天数:1、3、5、7、8、10、12(31天),4、6、9、11(30天),2(28或29)等价类表2、找零钱最佳组合(P47)假设商店货品价格(R) 都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。
假定此商店的货币面值只包括:50元(N50)、10元(N10)、5元(N5)、1元(N1) 四种。
请结合等价类划分法和边界值分析法为上述程序设计出相应的测试用例。
解答:根据等价类划分法和边界值分析法的基本定义,得到下列基本认识:Step1.输入:商品价格R和顾客付款P有以下情况:R > 100 0 < R < = 100 R <= 0 P > 100 R<= P <= 100 P < RStep2.输出:N50 = 1 N50 = 0 4 > N10 >= 1 N10 = 0 N5 = 1 N5 = 0 4 > N1 >= 1 N1 = 0 Step3.分析规格中每一决策点之情形,以RR1, RR2, RR3 表示计算要找50, 10, 5 元货币数时之剩余金额。
R > 100R <= 0 P > 100 P < R RR1 >= 50 RR2 >= 10 RR3 >= 5Step4. 由上述之输入/ 输出条件组合出可能的情形。
1等价类边界值练习参考
3、某计算机语言的编译系统关于数组定义的语法规则如下:DIMENSION array1[,array2][,array3]…上面语句用来声明一或多个数组array1、array2、array3…,一个语句最多可定义6个数组。
其中[]内的内容数组描述符形式如下: n(d[,d]…)其中n 为数组名,由1到6个字母或数字组成,为首的必须是字母;d 为数组维数说明符,数组维数范围为1-7,形式为[lb:]ub,其中lb和ub分别表示数组该维的下界和上界,例如:DIMENSION A1(-2:5,3:10),B(5)这里定义了一个二维数组A1和一个一维数组B。
A1一维的下界为-2,上界为5,二维的下界为3,上界为10;B一维的下界为1,上界为5。
等价类表:输入有效等价类无效等价类数组定义符DIMENSION非DIMENSION分隔符空格(tab、多个空格)非空格数组个数1~6<1>6数组分隔符,非,数组描述符数组名由1到6个字母或数字组成,为首的必须是字母个数<1个数>6非字母数字组成非字母开头()非()数组维数说明符1~7<1>7lb:ub ub>=lb ub<lb分隔符:非:lb可缺省ub>=1ub<1[lb:]ub:ublb:lb -65534到65535之间的整数<-65534>65535非整数ub -65534到65535之间的整数<-65534>65535非整数维数分割,非,义6个数组。
其中[]内的内容是可选的(以下出现的 []也一样)。
DIMENSION为数组类型定义符,array1、array2、示数组该维的下界和上界,取值范围均为-65534到65535之间的整数,ub>=lb。
若未定义lb,则其值缺省认为为1。
,上界为5。
价类非DIMENSION dimension非字母数字组成非字母开头数字开头字符开头中文开头类型定义符,array1、array2、array3等为数组描述符。
第三章黑盒测试与用例设计等价类及边界值作业分析
因果图法测试举例(续)
(1)分析程序规格说明中的原因和结果:
原因 c1:第一个字符是# c2:第一个字符是* c3:第二个字符是一个数字
结果 e1:给出信息N e2:修改文件 e3:给出信息M
(2)画出因果图(编号为10的中间结点是导出结果的进一步原因): c1 E c2 c3 ~ e1 e2 e3
因果图法的简介(续)
• 使用因果图法的优点:
(1)考虑到了输入情况的各种组合以及各个输入情况之间 的相互制约关系。 (2)能够帮助测试人员按照一定的步骤,高效率的开发测 试用例。 (3)因果图法是将自然语言规格说明转化成形式语言规格 说明的一种严格的方法,可以指出规格说明存在的不完 整性和二义性。
因果图(续)
• 因果图中的约束 在实际问题中输入状态相互之间、输出状态相互之间可 能存在某些依赖关系,称为“约束”。对于输入条件的约束 有E、I、O、R四种约束,对于输出条件的约束只有M约束。 E约束(异):a和b中最多有一个可能为1,即a和b不能同时为 1(但可能多个同时为0)。
I 约束(或):a、b、c中至少有一个必须为1,即 a、b、c不 能同时为0(但可能多个同时为1)。 O约束(唯一):a和b必须有一个且仅有一个为1。 R约束(要求):a是1时,b必须是1,即a为1时,b不能为0。 M约束(强制):若结果a为1,则结果b强制为0。
∨
10
∧
~
因果图法测试举例(续)
(3)将因果图转换成如下所示的决策表: 选项 规则
1 1 1 1
2 1 1 0
3 1 0 1 1
4 1 0 0 0 1 0
√
8 0 0 0 0
√ √
条件: C1 C2 C3 10 动作: e1 e2 e3 不可能 测试用例
下一日问题(等价类和边界值)
该日期<1799.12.31
A3:MONTH+1 A4:MONTH=1 A5:YEAR+1 A6:不可能 1 月份属于 日期属于 A3:MONTH+1 A4:MONTH=1 A5:YEAR+1 A6:不可能 2 3 4 5 6 7 8
条件
动作
(1)无效等价类:该日期>2050.12.31 (2)有效等价类: month变量的有效等价类: M1={MONTH=4,6,9,11} M2={MONTH=1,3,5,7,8,10} M3={month=12} M4={month=2} day变量的有效等价类: D1={1<=DAY<=27} D2={DAY=28} D3={DAY=29} D4={DAY=30} D5={DAY=31} year变量的有效等价类: Y1={YEAR是闰年} Y2={YEAR不是闰年}
年 1799 1800 1801 1900 2049 2050 2051 1975 1975 1975 1975 1975 1975 1975 1975 1975 1975 1975 1975 1799 1800 1800 1975 2050 2050 2051 2008 2008 2008 1999 1999 1999
(1)无效等价类:该日期>205 (2)有效等价类: month变量的有效等价类: M1={MONTH=4,6,9,11} M2={MONTH=1,3,5,7,8,10 M3={month=12} M4={month=2} day变量的有效等价类: D1={1<=DAY<=27} D2={DAY=28} D3={DAY=29} D4={DAY=30} D5={DAY=31} year变量的有效等价类: Y1={YEAR是闰年} Y2={YEAR不是闰年} 动作: A1:DAY+1 A2:DAY=1 A3:MONTH+1 A4:MONTH=1 A5:YEAR+1 A6:不可能
三角形问题的三种测试方式-----边界值测试,等价类测试、决策表测试
三角形问题的三种测试方式--边界值测试,等价类测试、决策表测试一.方法简介1. 定义:边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。
通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
2. 与等价划分的区别1) 边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。
2) 边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。
3. 边界值分析方法的考虑:长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。
因此针对各种边界情况设计测试用例,可以查出更多的错误。
使用边界值分析方法设计测试用例,首先应确定边界情况。
通常输入和输出等价类的边界,就是应着重测试的边界情况。
应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
4. 常见的边界值1) 对16-bit 的整数而言32767 和-32768 是边界2) 屏幕上光标在最左上、最右下位置3) 报表的第一行和最后一行4) 数组元素的第一个和最后一个5) 循环的第0 次、第1 次和倒数第2 次、最后一次5. 边界值分析1) 边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。
例:测试计算平方根的函数--输入:实数--输出:实数--规格说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息"平方根非法-输入值小于0"并返回0;库函数Print-Line可以用来输出错误信息。
2) 如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。
比如,一个输入文件应包括1~255个记录,则测试用例可取1和255,还应取0及256等。
软件测试06等价类+边界值
第二十五页,编辑于星期日:十六点 四十六分。
边界值分析
• 例:测试计算平方根的函数
——输入:实数
——输出:实数
——规格说明:当输入一个0或比0大的数的时候,返回其正平 方根;当输入一个小于0的数时,显示错误信息“平方根非法-输 入值小于0”并返回0;库函数Print-Line可以用来输出错误信息 。
项
范围或值
位(bit)
0或1
字节(byte)
0 ~ 255
字(word) 0~65535(单字)或 0~4294967295(双字)
千(K)
1024
兆(M) 吉(G)
1048576 1073741824
31 第三十一页,编辑于星期日:十六点 四十六分。
边界值分析
• 在计算机软件中,字符也是很重要的表示元素,其中ASCII和 Unicode是常见的编码方式。下表中列出了一些常用字符对 应的ASCII码值。
➢使用等价类划分法设计测试用例时,要同时考虑有效等价类和无效等价类。
有效等价类 对于程序的规格说明来说,是合理的、有意义的输入数据所构成的集合;
无效等价类
对于程序的规格说明来说,是不合理的、没有意义的输入数据所构成的集合;
3 第三页,编辑于星期日:十六点 四十六分。
等价类划分
例1:
假定一台ATM机允许提取增量为50元,总金额从100~2000(包含2000元)不等的
试方法设计测试用例。
(1)各变量分别取略小于最小值、最小值、略大于最小值、正常值、略 小于最大值、最大值和略大于最大值,所以A、B、C分别取值为:-1、0、 1、5000、9998、9999、10000。
(2)设计测试用例。
20
等价类和边界值
等价类和边界值等价性划分:选择输入,输出,动作,环境,或者你感兴趣的因素,对这些因素进行分类,系统应该对每一类中的因素进行等价处理。
我们选择的测试应该至少代表了每个类中的一个选项。
当选择存在某种有意义的顺序,等价类中就会存在边界值。
整数:假设输入允许的最大数量为99,那么等价类和边界值如下:在有效的数量类里面,也可能存在两个子类,可能允许输入千位分隔符。
这只有当你允许数目可以数以千计时才有意义。
如果说输入65536可以,为什么65537不可以。
由于依赖于计算机表示而迫使产生了边界值。
尤其是最大的边界。
这样,我们完全可以分析出两个无效的等价类。
数量过少,数量过多。
那么最低的有效值减1和最高有效数量加1都是你的边界值。
对于卖东西而言。
0是典型的边界值,卖出1包槟榔是有意义的,卖出0包则没意义。
对于随行人数而言,随行人数0又是有意义的,我们在设计时,考虑系统应该显示的业务行为。
一个合理的用户期待是什么样子的,以此来设计测试,覆盖这些行为。
实数:对于实数而言,整数的例子可以直接借用,这里我们需要考虑的问题是一个数值的最小差值是多少。
在测试我们酒店管理系统时,一个可能的用例是用户提交申请查看账务信息。
为了识别等价类和边界值,我们必须知道我们的差值幅度是多少,在实际中,我们保存的为0.01.那么有效等价类为什么我把有效等价的又分成了三个子类。
比0小的,比0大的,和0,这样就造成了位于0和接近0的边界值。
很多时候奇怪的事情发生在0,如果程序员忘记在做除法时检查0值会怎么样。
空值有的时候在计算时被处理成0.所以,在一个数值中检查位于或者接近0这样做是很值得的。
输入过多的小数位数也是无效等价类,使用了错误的千位或者小数分隔符的无效等价类,输入两个小数分隔符或者千位分隔符。
第七章 用等价类和边界值方法设计测试用例
存在大量冗余测试,影响测试效率
• 有些功能点可能测试了多次
对新版本的重复测试很难实施
• 每个版本测试的步骤、数据都不一样,随意性很强
测试覆盖率无法衡量
• 最后测试的好与不好不得而知
测 试 用 命 的 基 础 概 念
测试用例主要记录了测试的过程、步骤、 输入的数据、预期的结果等内容。它是 在执行之前由测试人员编写的指导测试 的重要文档
测试用例编号如何命名 测试用例应该提交到什么地方 测试用例中用到的附件命名规定,存放位置 2、测试用例是需要更新和维护的,是一个不断修改完善的过程 3、测试用例需要正式评审 4、测试用例覆盖系统的程序决定测试覆盖的程度
对 测 试 人 员 的 要 求
1、基本要求
在编写一条测试用例时,要求步骤描述清晰、准确、易读,预期结果明确
步 骤 一: 划 分 等 价 类
等价类划分图片,见图片里面的截图
步 骤 二: 细 化 等 价 类
依据的一般不是显示需求
数据在计算机中按照补码的方式存储,正数的补码与原码相同, 负数的补码与原码不同。所以有必要对正数和负数分别进行测 试 非整数可以细分为:小数字母符号汉字
步 骤 三: 建 立 等 价 类 表
第 七 章
第七章 使用等价类和边界值方 法设计测试用例
测试用例的概念 使用等价划分方法设计测试用例 使用边界值划分方法设计测试用 例
第 七 章
引 例
测试即时贴随到哪些问题?
你 可 能 遇 到 以 下 问 题
不知道是否较全面的测试了所有内容
• 不知道所有功能点是否都测试到了 • 不清楚每个功能点是否都测试全面了
步 骤 一: 划 分 等 价 类
软件测试2_黑盒测试(上)等价类边界值
无效等价类 成绩>100
26
程序输入条件为小于100大于10 的整数x,则等价类分类是:
➢ 有效等价类 : ➢ 无效等价类:
程序输入条件为小于100大于10 的整数x,则有效等价类为10< x<100,两个无效等价类为 x≤10和x≥100。
思考1
27
确定等价类的原则(2/6)
②按照数值集合划分,在输入条件规定了输 入值的集合或者规定了“必须如何”的条 件的情况下,可确立一个有效等价类和一个 无效等价类。
8
黑盒测试
测试用例设计概述 黑盒测试的概念 黑盒测试的实施过程 黑盒测试方法
9
什么是黑盒测试?
黑盒测试又称功能测试、数据驱动测试或 基于规格说明书的测试,是一种从用户观 点出发的测试。
在测试时,把被测程序视为一个不能打开 的黑盒子,在完全不考虑程序内部结构和 内部特性的情况下进行。
10
黑盒测试
例:程序输入条件为以字符‘a’开头、长度为8的字符串,并 且字符串不包含‘a’~ ‘z’之外的其它字符,则
✓有效等价类为满足了上述所有条件的字符串, ✓无效等价类为不以‘a’开头的字符串、长度不为8的字符 串和包含了‘a’~ ‘z’之外其它字符的字符串。
28
确定等价类的原则(3/6)
③在输入条件是一个布尔量的情况下,可确定 一个有效等价类和一个无效等价类。
- 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] 。