3、边界值分析法

功能测试技术 —边界值分析法 边界值分析法
东软IT人才实训中心
3 Sept. 2008 ? Neusoft Confidential
1

主要内容
? ? ?
边界值分析法的概念 常见的边界值 边界值分析法设计测试用例 健壮性测试
? 标准性(一般性)测试 ?
2

边界值分析法
?
边界值分析法就是对输入的边界值进行测试的一种黑盒测 边界值分析法就是对输入的边界值进行测试的 种黑盒测 试方法。通常边界值分析法是作为对等价类划分法的补充, 这种情况下,其测试用例来自等价类的边界。
3

为什么使用边界值分析法?
? 测试实践表明,大量的故障往往发生在输入定义域的边界
上,而不是在其内部。因此,针对各种边界情况设计测试 用例,通常会取得很好的测试效果。 例 例如,一个循环条件为“≤”时,却错写成“<”;计数器 个循环条件为 ≤ 时 却错写成 < ;计数器 发生少计数一次。
4

怎样用边界值分析法设计测试用例 怎样用边界值分析法设计测试用例?
(1)首先确定边界情况
通常边界就是应该着重测试的边界情况。 (2)选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据, 而不是选取等价类中的典型值或任意值。
5

常见的边界值
? ? ? ? ?
对16-bit 的整数而言 32767 和 -32768 是边界 屏幕上光标在最左上、最右下位置 报表的第一行和最后一行 数组元素的第一个和最后一个 循环的第 0 次、第 1 次和倒数第 2 次、最后一次 次、最后 次
6

边界值分析法设计测试用例 界值分析法设计测试用例
假设有两个变量x和y的程序F,x、y在 下列范围内取值: a≤x≤b,c≤y≤d。 区间[a,b]和[c,d]是x、y的值域,程 序F的输入定义域如图所示,即带阴影 矩形中的任何点都是程序F的有效输入。
Y
7

标准性( 般性)测试 标准性(一般性)测试
对于 个含有n个变量的程序,保留其中 个变量,让其余的变 对于一个含有n个变量的程序,保留其中一个变量,让其余的变 量取正常值,被保留的变量依次取min、min+、nom、max-、max 值,对每个变量都重复进行。这样,对于 个有n个变量的程 值,对每个变量都重复进行。这样,对于一个有n个变量的程 序,边界值分析测试程序会产生4n+1个测试用例。 边界值分析法是基于可靠性理论中称为“单故障”的假设,即有两个或两 个以上故障同时出现而导致软件失效的情况很少,也就是说,软件失 效基本上是由单故障引起的。
8

边界值分析(标准性测试)测试用例:
; ; ; ; ; ; ; < i + > ; ; ;
Y
9

实战演练
? 有二元函数f(x,y),其中x∈[1,12],y∈[1,31]。 ? 则采用边界值分析法设计的测试用例是:
10

健壮 测试 健壮性测试
?
健壮性测试是边界值分析测试的一种扩展,除了取边界值外,还 健壮性测试是边界值分析测试的一种扩展 除了取边界值外 还 需要考虑采用一个略超过最大值(max+)及略小于最小值(min-)的 取值,检查超过极限值时系统的情况 取值 检查超过极限值时系统的情况
?
对于一个含有n个变量的程序,保留其中一个变量,让其余的变量 对于一个含有n个变量的程序 保留其中一个变量 让其余的变量 取正常值,被保留的变量依次取min、min+、min-,nom、max-、 max, max+值,对每个变量都重复进行。这样,对于一个有n个变 max+值 对每个变量都重复进行 这样 对于一个有n个变 量的程序,边界值分析测试程序会产生6n+1个测试用例。
11

健壮 测试 健壮性测试
; ; ; ; ; ; ; < i > ; ; ; ; ; y ;
Y
12

实战演练
?
某移动运营商手机话费收取规定:公司每月25日为结帐日,到25日晚24:00 时,计算用户当月电话累计使用情况(即上月26日凌晨0:00起至本月25日 时 计算用户当月电话累计使用情况(即上月26日凌晨0:00起至本月25日 23:59:59止的话费累计额),当通话费用超过200元时,将根据超出金额 不同,而赠送三种不同面值的IP卡做为奖励(注:月累计话费不可能超过 同 而赠送 种 同面值的 做为奖励 注 月累计话费 可能 过 15000元),当年连续12个月获得最高面值IP卡(50元IP卡)的用户,将赠 送香港七日游,同时将奖励累计次数做清零处理。话费累计标准及赠送标准 如下:
话费累计金额 0—199元 200元—499元 500元—799元 800元—15000元
赠送IP卡 面值
20元 30元 50元
13

本章小结
? ? ?
边界值分析法的概念 常见的边界值 常 的边 值 边界值分析法设计测试用例 健壮性测试
? 标准性(一般性)测试 ?
14

Copy g t Copyright ? 2008 版权所有 东软集团 008
15

边界值分析法+场景法

黑盒测试-边界值分析法和场景法边界值分析法: 实验1:某选课系统中规定每门课程的选修人数在[20,60]之间,小于20人不开设该门选修课,大于60人不接受后面的选课要求。 结合黑盒测试方法中等价类划分和边界值方法设计测试案例,并给出相应测试用例。 参考答案 测试设计 ?输入变量:选课人数 ?测试输入 ?选择当选课人数分别为19,20,21, 59,60和61等几个边界点 ?再加上一个正常值点40 实验 2:编写一个程序,输入某雇员的工作时间(以小时计)和每小时的工资数,计算并输出他的工资。 具体如下: ?若雇员周工作小时小于40小时(0,40),则按原小时工资0.7来计算薪水。 ?若雇员周工作小时等于40小时,则按原小时工资计算薪水。 ?若雇员周工作小时介于40到50((40,50))小时的,超过40的部分按照原小时工资的1.5倍来计算薪水。 ?若雇员周工作小时超过50小时([50,60)),则超过50的部分按原小时工资的3倍来计算薪水。 ?超出60小时或小于0小时,提示输入有误,重新输入。 结合黑盒测试方法中等价类划分和边界值方法设计测试案例,并

给出测试用例和相应的测试结果。参考答案

程序参考答案: #include void main() { float h; float g; float sum; sum=0.0; printf("请输入小时工资和工作小时数:"); scanf("%f",&h); scanf("%f",&g); if(h>0 && h<40) sum=0.7*h*g; else if (h>=40 && h<50) sum=40*g+(h-40)*1.5*g; else if(h>=50 && h<=60) sum=40*g+10*1.5*g+(h-50)*3*g; printf("%f",sum); }

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

边界值分析法实例

实例: “某一为学生考试试卷评分和成绩统计的程序,其规格说明指出了对程序的要求: 程序的输入文件由80个字符的一些记录组成,这些记录分为三组: (1)标题:这一组只有一个记录,其内容为输出报告的名字。 (2)试卷各题标准答案记录:每个记录均在第80个字符处标以数字“2”。该组的第一个记录的第1至第3个字符为题目编号(取值1—999)。第10至59个字符给出第1至第50题的答案(每个合法字符表示一个答案)。该组的第2,第3,等等记录相应为第51至第100,第101至第150,等等题的答案。 (3)每个学生的答卷描述:该组中每个记录的第80个字符均为数字“3”。每个学生的答卷在若干个记录中给出。如甲的首记录第1至第9字符给出学生姓名及学号,第10至59字符列出的是甲所做的第1至第50题的答案。若试题数超过50,则其第2,第3,等等记录分别给出他的第51至第100,第101至150,等等题的解答。然后是学生乙的答案记录。 若学生最多为200人,输入数据的形式如下图所示: 该程序应给出4个输出报告,即: 按学生学号排序,每个学生的成绩(答对的百分比)和等级报告。 按学生得分排序,每个学生的成绩。 平均分数,最高与最低分之差。 按题号排序,每题学生答对的百分比。 以下两个表分别针对输入条件和输出条件,根据其边界值设置了测试用例。(共43个测试用例) 输入条件测试用例 输入文件空输入文件 标题无标题记录 只有1个字符的标题 具有80个字符的标题 出题个数出了1个题 出了50个题 出了51个题 出了100个题 出了999个题 没有出题 题目数是非数值量

答案记录标题记录后没有标准答案记录 标准答案记录多1个 标准答案记录少1个 学生人数学生人数为0 学生人数为1 学生人数为200 学生人数为201 学 生答题某学生只有1个答卷记录,但有2个标准答案记录该学生是文件中的第1个学生 该学生是文件中的最后1个学生 学生答题某学生有2个答卷记录,但仅有1个标准答案记录该学生是文件中的第1个学生 该学生是文件中最后1个学生 输出条件测试用例 学生得分所有学生得分相同 所有学生得分都不同 一些学生(不是全部)得分相同(用以检查等级计算) 1个学生得分0分 1个学生得分是100分 输出报告 (1)(2)1个学生编号最小(检查排序) 1个学生编号最大 学生数恰好使报告印满1页(检查打印) 学生人数使报告1页打印不够,尚多1人 输出报告 (3)平均值最大值(所有学生均得满分) 平均值为0(所有学生都得0分) 标准偏差取最大值(1学生得0分,1学生得100分)

因果图分析法实例讲解

因果图分析法: 前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑 输入条件之间的联系, 相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况。但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。这就需要利用因果图(逻辑模型)。 因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。 因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状态(或 称原因),右结点表示输出状态(或称结果)。 ci 表示原因,通常置于图的左部;ei 表示结果,通常在图的右部。ci 和ei 均可取值0 或1,0表示某状态不出现,1表示某状态出现。 4种符号分别表示了规格说明中向4种因果关系。如上图所示。 ①恒等:若ci 是1,则ei 也是1;否则ei 为0。 ②非:若ci 是1,则ei 是0;否则ei 是1。 ③或:若c1或c2或c3是1,则ei 是1;否则ei 为0。“或”可有任意个输入。 ④与:若c1和c2都是1,则ei 为1;否则ei 为0。“与”也可有任意个输入。 因果图概念--约束 输入状态相互之间还可能存在某些依赖关系,称为约束。例如, 某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些约束。 A.输入条件的约束有以下4类: ① E 约束(异):a 和b 中至多有一个可能为1,即a 和b 不能同时为1。 ② I 约束(或):a 、b 和c 中至少有一个必须是1,即 a 、b 和c 不能同时为0。 ③ O 约束(唯一);a 和b 必须有一个,且仅有1个为1。 ④R 约束(要求):a 是1时,b 必须是1,即不可能a 是1时b 是0。 B.输出条件约束类型 (d )与

边界值分析法案例

1.边界条件测试 边界条件是指软件计划的操作界限所在的边缘条件。 程序在处理大量中间数值时都是对的,但是可能在边界处出现错误。比如数组的[0]元素的处理。想要在Basic中定义一个10个元素的数组,如果使用Dimdata(10) AsInteger,则定义的是一个11个元素的数组,在赋初值时再使用For i =1 to 10 ...来赋值,就会产生权限,因为程序忘记了处理i=0的0号元素。 数据类型:数值、字符、位置、数量、速度、地址、尺寸等,都会包含确定的边界。 应考虑的特征:第一个/最后一个、开始/完成、空/满、最慢/最快、相邻/最远、最小值/最大值、超过/在内、最短/最长、最早/最迟、最高/最低。这些都是可能出现的边界条件。 根据边界来选择等价分配中包含的数据。然而,仅仅测试边界线上的数据点往往不够充分。提出边界条件时,一定要测试临近边界的合法数据,即测试最后一个可能合法的数据,以及刚超过边界的非法数据。以下例子说明一下如何考虑所有可能的边界: -------------------------------------------------------------------------------- 如果文本输入域允许输入1-255个字符。 尝试:输入1个字符和255个字符(合法区间),也可以加入254个字符作为合法测试。 输入0个字符和256个字符作为非法区间。 -------------------------------------------------------------------------------- 如果程序读写软盘 尝试:保存一个尺寸极小,甚至只有一项的文件。 然后保存一个很大的——刚好在软盘容量限制之内的文件。

基于边界值分析法的测试用例

基于边界值分析法的测试用例 编号输入数据测试的 边界条 件预期结果实际输出结果备注(预期结 果与实际结 果比较) 1 99999999999-99999999999 差为0 0 0 相符 2 99999999999-99999999998 差为正 数 1 1 相符 3 1-99999999999 差为负 数 -99999999998 -99999999999 不相符 4 2-99999999999 差为负 数 -99999999997 -99999999999 不符99999999998-99999999999 差为负-1 -1 相符5 1+99999999998 和为正 数 99999999999 99999999999 相符 6 99999999999/81 商为正1234567901. 1234567901. 相符 7 99999999999/99999999998 商为正 数 1.000000000 1.000000000 相符 8 99999999999 Sqrt 316227.7660 316227.7660 相符 9 99999999999*25% 24999999999 24999999999 相符 -9999999999*25% -2499999999 2499999999 相符 1/99999999999 1.00000E-11 1.00000E-11 相符正数加 法 质数13+13 13+56

13+49 13+0.3 13+3.247 13+2sqrt 13+1/3 偶数 56+49 56+0.3 56+3.247 56+2sqrt 56+1/3 非质数 的奇数 49+0.3 49+3.247 49+2sqrt 49+1/3 有限小 数 0.3+3.247 0.3+2sqrt 0.3+1/3 无限小 数

边界值法练习题

1.请用边界值分析法设计三角形问题的测试用例 2.在三角形问题描述中,除了要求边长是整数外,没有给出其它的限 制条件。在此,我们将三角形每边边长的取范围值设值为[1, 100] 。边1,边2,边3,还是a、b、c 按钮名称【提交】。 边界值:0,1,2,99, 100, 101

2.请用边界值分析法写出NextDate函数的测试用例 3.在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050 。 边界值:year 取 1911 1912 1913 1990 2049 2050 2051 mouth取 -1 1 2 11 12 13 day取 0 1 2 30 31 32 测试用例:

3.邮箱用户名:6~18个字符,包括字母、数字、下划线,以字母开头,用户名以字母或数字结尾,用户名中必须包含@符号,@符号后可以为数字、字母,邮箱以或或.结尾

根据要求可以确定5个有效等价类和6个无效等价类 邮箱用户名测试用例:

等等(8)(9)(10)(11)任意两个、三个、四个组合都是错误的邮箱用户名。 4. 假设商店货品价格(R) 都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。假定此商店的货币面值只包括:50元(N50)、10元(N10)、 5元(N5)、1元(N1) 四种。 请结合等价类划分法和边界值分析法为上述程序设计出相应的测试用例。 有效等价类: 0 < R < = 100 ,R<= P <= 100 R :货币价格 无效等价类:R > 100 or R<=0 ,p>100 or p 100 or R<=0 ,

测试用例设计方法——边界值分析法

边界值分析法的学习 (2016/2/29--------2016/3/6)本周是我来北京学习的第二周,通过对上周等价类划分法的学习是我深深感受到了,在做功能测试时,测试用例设计的好坏直接影响到测试效率和质量。一个好的测试用例能有效提高工作效率,更能有效节省公司的有限资源。 我相信大家在开发一个软件的时候,循环结构可能会不厌其烦的出现在你的程序设计中。下面就是一个循环结构的代码片段: int i = 0; while(i < 10){ System.out.println(i); //输出变量的值 i++; //变量的值增加1 } 其执行流程为: 1、执行int I = 0; 2、判断i<10 是否成立,如果不成立则结束,否则执行 下一步 3、输出变量i 的值 4、i 的值增加1 5、跳转到步骤2 继续执行 代码很简单,相信大家都可以理解。那么,大家知道这

段代码在黑盒测试中如何来确定I<10中的关系运算符是<、>、还是>=、<=呢?很多人可能已经想到了就是几个关键性的数据:9、10、11。 通过这个小例子,大家也许就明白了什么是边界值分析法。即: 1)如果输入(输出)条件规定了取值范围,则应该以该范围的边界值及边界附近的值作为测试数据; 2)如果输入(输出)条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数 多一的数作为测试数据; 3)如果程序规格说明书中提到的输入或输出是一个有序的集合,应该注意选取有序集合的第一个和最 后一个元素作为测试数据; 4)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试数据。

因果图分析法实例讲解教学资料

因果图分析法实例讲 解

仅供学习与交流,如有侵权请联系网站删除 谢谢2 因果图分析法: 前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条 件,但未考虑输入条件之间的联系, 相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况。但要检查输入条件的组合不是一件 容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况 也相当多。因此必须考虑采用一种适合于描述对于多种条件的组合,相 应产生多个动作的形式来考虑设计测试用例。这就需要利用因果图(逻 辑模型)。 因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种 组合情况。 因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输 入状态(或称原因),右结点表示输出状态(或称结果)。 ci 表示原因,通常置于图的左部;ei 表示结果,通常在图的右部。ci 和 ei 均可取值0或1,0表示某状态不出现,1表示某状态出现。 (d )与

因果图概念—关系 4 种符号分别表示了规格说明中向4种因果关系。如上图所示。 ①恒等:若ci 是1,则ei 也是1;否则ei 为0。 ②非:若ci 是1,则ei 是0;否则ei 是1。 ③或:若c1或c2或c3是1,则ei 是1;否则ei 为0。“或”可有任意个输入。 ④与:若c1和c2都是1,则ei 为1;否则ei 为0。“与”也可有任意个输入。 因果图概念--约束 输入状态相互之间还可能存在某些依赖关系,称为约束。例如, 某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些约束。 A.输入条件的约束有以下4类: ① E 约束(异):a 和b 中至多有一个可能为1,即a 和b 不能同时为1。 ② I 约束(或):a 、b 和c 中至少有一个必须是1,即 a 、b 和c 不能同时为0。 ③ O 约束(唯一);a 和b 必须有一个,且仅有1个为1。 ④R 约束(要求):a 是1时,b 必须是1,即不可能a 是1时b 是0。 B.输出条件约束类型 输出条件的约束只有M 约束(强制):若结果a 是1,则结果b 强制为0。 E I O

边界值分析方法

设计测试用例方法--边界值分析方法 1方法简介 1.1 定义 边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。 1.2 与等价划分的区别 1) 边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。 2) 边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。 1.3 边界值分析方法的考虑 长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。 使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。 1.4 边界值分析 1) 边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。 例:测试计算平方根的函数 --输入:实数 --输出:实数 --规格说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息"平方根非法-输入值小于0"并返回0;库函数Print-Line可以用来输出错误信息。

2) 等价类划分: I.可以考虑作出如下划分: a、输入 (i)<0 和 (ii)>=0 b、输出 (a)>=0 和 (b) Error II.测试用例有两个: a、输入4,输出2。对应于 (ii) 和 (a) 。 b、输入-10,输出0和错误提示。对应于 (i) 和 (b) 。 3) 边界值分析: 划分(ii)的边界为0和最大正实数;划分(i)的边界为最小负实数和0。由此得到以下测试用例: a、输入 {最小负实数} b、输入 {绝对值很小的负数} c、输入 0 d、输入 {绝对值很小的正数} e、输入 {最大正实数} 4) 通常情况下,软件测试所包含的边界检验有几种类型:数字、字符、位置、重量、大小、速度、方位、尺寸、空间等。 5) 相应地,以上类型的边界值应该在:最大/最小、首位/末位、上/下、最快/最慢、最高/最低、最短/最长、空/满等情况下。

边界值分析法

测试用例设计白皮书--边界值分析方法 发布时间: 2008-11-13 17:42 作者: Vince 来源: CSDNBlog 字体: 小中大| 上一篇下一篇| 打印| 我要投稿| 推荐标签:测试用例 一.方法简介 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) 等价类划分: I.可以考虑作出如下划分: a、输入(i)<0 和(ii)>=0 b、输出(a)>=0 和(b) Error II.测试用例有两个: a、输入4,输出2。对应于(ii) 和(a) 。 b、输入-10,输出0和错误提示。对应于(i) 和(b) 。 3) 边界值分析: 划分(ii)的边界为0和最大正实数;划分(i)的边界为最小负实数和0。由此得到以下测试用例: a、输入{最小负实数} b、输入{绝对值很小的负数} c、输入0 d、输入{绝对值很小的正数} e、输入{最大正实数} 4) 通常情况下,软件测试所包含的边界检验有几种类型:数字、字符、位置、重量、大小、速度、方位、尺寸、空间等。 5) 相应地,以上类型的边界值应该在:最大/最小、首位/末位、上/下、最快/最慢、最高/最低、最短/最长、空/满等情况下。 6) 利用边界值作为测试数据

测试用例八大分析报告方法和实例

测试用例设计方法 1等价类划分 1.1 理论知识 等价类划分是一种典型的黑盒测试方法。这一方法完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。 等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭示程序中的错误都是等效的。 等价类合理地假设:某个等价类的代表值,与该等价类的其他值,对于测试来说是等价的。 因此,可以把全部的输入数据划分成若干的等价类,在每一个等价类中取一个数据来进行测试。这样就能以较少的具有代表性的数据进行测试,而取得较好的测试效果。 等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法. ) 分类: 划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类. 有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能. 无效等价类:与有效等价类的定义恰巧相反. 设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性. )划分等价类的方法: 下面给出六条确定等价类的原则: ①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类. ②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效

边界值分析法案例

1. 边界条件测试 边界条件是指软件计划的操作界限所在的边缘条件。 程序在处理大量中间数值时都是对的,但是可能在边界处出现错误。比如数组的[0]元素的处理。想要在Basic中定义一个10个元素的数组,如果使用Dim data(10) As Integer ,则定义的是一个11个元素的数组,在赋初值时再使用For i =1 to 10 ...来赋值,就会产生权限,因为程序忘记了处理i=0的0号元素。 数据类型:数值、字符、位置、数量、速度、地址、尺寸等,都会包含确定的边界。 应考虑的特征:第一个/最后一个、开始/完成、空/满、最慢/最快、相邻/最远、最小值/最大值、超过/在内、最短/最长、最早/最迟、最高/最低。这些都是可能出现的边界条件。 根据边界来选择等价分配中包含的数据。然而,仅仅测试边界线上的数据点往往不够充分。提出边界条件时,一定要测试临近边界的合法数据,即测试最后一个可能合法的数据,以及刚超过边界的非法数据。以下例子说明一下如何考虑所有可能的边界: -------------------------------------------------------------------------------- 如果文本输入域允许输入1-255个字符。 尝试:输入1个字符和255个字符(合法区间),也可以加入254个字符作为合法测试。 输入0个字符和256个字符作为非法区间。 -------------------------------------------------------------------------------- 如果程序读写软盘 尝试:保存一个尺寸极小,甚至只有一项的文件。 然后保存一个很大的——刚好在软盘容量限制之内的文件。 保存空文件。 保存尺寸大于软盘容量的文件。 -------------------------------------------------------------------------------- 如果程序允许在一张纸上打印多个页面 尝试:只打印一页 打印允许的最多页面 打印0页 多于所允许的页面(如果可能的话) -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- 2. 次边界条件测试 上面所讲的是普通的边界条件,在产品说明书中有定义,或者在软件的过程中确定。但有些边界在软件内部,最终用户几乎看不到,但是软件测试仍有必要检查,这样的边界条件成为次边界条件或者内部边界条件。寻找这样的边界条件,不要求软件测试员成为程序员或者具有阅读源代码的能力,但是确实要求大体了解软件的工作方式。2的乘方和ASCII表是这样的两个例子: -------------------------------------------------------------------------------- 2的乘方 术语

黑盒测试:边界值分析法及测试用例设计

20 14 —20 15 学年第 2 学期 软件测试技术课程 实验报告 学院:计算机科学技术 专业:软件工程 班级:软件一班 姓名:马文龙 学号:041240139 任课教师:刘玉宝

实验日期:2015年 4 月23 日实验题目黑盒测试:边界值分析法及测试用例设计 实验目的1、掌握边界值的概念。 2、掌握边界值分析法的测试用例设计方法。 实验内容 对于找零钱最佳组合问题运用边界值分析法设计测试用例,并执行测试,撰写实验报告。 实验步骤: ①分析边界值。 ②运用健壮性边界条件法设计测试用例,得到测试用例表(测试用例表格式同实 验1)。 ③执行测试,填写软件缺陷报告(软件缺陷报告格式同实验1)。 实验步骤: 通过假设商店货品价格(R) 都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。假定此商店的货币面值只包括:50元(N50)、10元(N10)、 5元(N5)、1元(N1) 四种。 1.用例编号说明表格式如下: 用例编号N50 N10 N5 N1 找零张数 1 2 0 0 0 0 2 2 0 0 1 Error 3 0 100 0 0 0 4 0 0 20 0 0 5 0 0 0 100 0 6 0 101 0 0 Error

7 0 0 21 0 Error 8 0 0 0 101 Error 9 0 0 0 0 1 2.运用边界值测试用例设计法设计测试用例,得到测试用例表。测试用例表格式如 下: 测试用例 ID 输入数据操作期望结果实际输出 B1 N50=2 N10=0 N5=0 N1=0 计算找零张数0 0 B2 N50=2 N10=0 N5=0 N1=1 计算找零张数Error Error B3 N50=0 N10=100 N5=0 N1=0 计算找零张数0 0 B4 N50=0 N10=0 N5=20 N1=0 计算找零张数0 0 B5 N50=0 N10=0 N5=0 N1=100 计算找零张数0 0 B6 N50=0 N10=101 N5=0 N1=0 计算找零张数Error Error

边界值分析法实例

1.现有一个学生标准化考试批阅试卷,产生成绩报告的程序。其规格说明如下:程序的输入 文件由一些有80个字符的记录组成,如右图所示,所有记录分为3组: 1)标题:这一组只有一个记录,其内容为输出成绩报告的名字。 2)试卷各题标准答案记录:每个记录均在第80个字符处标以数字"2"。该组的第 一个记录的第1至第3个字符为题目编号(取值为1一999)。第10至第59 个字符给出第1至第50题的答案(每个合法字符表示一个答案)。该组的第2, 第3……个记录相应为第51至第100,第101至第150,…题的答案。 3)每个学生的答卷描述:该组中每个记录的第80个字符均为数字"3"。每个学生 的答卷在若干个记录中给出。如甲的首记录第1至第9字符给出学生姓名及学 号,第10至第59字符列出的是甲所做的第1至第50题的答案。若试题数超 过50,则第2,第3……纪录分别给出他的第51至第100,第101至第150…… 题的解答。然后是学生乙的答卷记录。 4)学生人数不超过200,试题数不超过999。

5)程序的输出有4个报告: a)按学号排列的成绩单,列出每个学生的成绩、名次。 b)按学生成绩排序的成绩单。 c)平均分数及标准偏差的报告。 d)试题分析报告。按试题号排序,列出各题学生答对的百分比。 解答:分别考虑输入条件和输出条件,以及边界条件。给出下表所示的输入条件及相应的测试用例。

输出条件及相应的测试用例表。

2.三角形问题的边界值分析测试用例 在三角形问题描述中,除了要求边长是整数外,没有给出其它的限制条件。在此,我们将三角形每边边长的取范围值设值为[1, 100] 。

测试用例设计白皮书--边界值分析方法

测试用例设计白皮书--边界值分析方法 一.方法简介 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)等价类划分: I.可以考虑作出如下划分: a、输入(i)<0 和(ii)>=0 b、输出(a)>=0 和(b) Error II.测试用例有两个: a、输入4,输出2。对应于(ii) 和(a) 。 b、输入-10,输出0和错误提示。对应于(i) 和(b) 。 3)边界值分析: 划分(ii)的边界为0和最大正实数;划分(i)的边界为最小负实数和0。由此得到以下测试用例: a、输入{最小负实数} b、输入{绝对值很小的负数} c、输入0 d、输入{绝对值很小的正数} e、输入{最大正实数} 4)通常情况下,软件测试所包含的边界检验有几种类型:数字、字符、位置、

测试用例的设计-边界值法例子

测试用例的设计-边界值法 边界值分析也是一种黑盒测试方法,适度等价类分析方法的一种补充,由长期的测试工作经验得知,大量的错误是发生在输入或输出的边界上。因此针对各种边界情况设计测试用例,可以查出更多的错误。 选择测试用例的原则: 一、如果输入条件规定了值的范围,则应该取刚达到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入数据; 二、如果输入条件规定了值的个数,则用最大个数、最小个数、比最大个数多1格、比最小个数少1个的数做为测试数据; 三、根据规格说明的每一个输出条件,使用规则一; 四、根据规格说明的每一个输出条件,使用规则二; 五、如果程序的规格说明给出的输入域或输出域是有序集合(如有序表、顺序文件等),则应选取集合的第一个和最后一个元素作为测试用例; 六、如果程序用了一个内部结构,应该选取这个内部数据结构的边界值作为测试用例; 七、分析规格说明,找出其他可能的边界条件。 边界值法举例 找零钱最佳组合 假设商店货品价格(R) 皆不大於100 元(且为整数),若顾客付款在100 元内(P) ,求找给顾客之最少货币个(张)数?(货币面值50 元(N50) ,10 元(N10) , 5 元(N5) , 1 元(N1) 四种) 一、分析输入的情形。 R > 100 0 < R < = 100 R <= 0 P > 100 R<= P <= 100 P < R 二、分析输出情形。 N50 = 1 N50 = 0

4 > N10 >= 1 N10 = 0 N5 = 1 N5 = 0 4 > N1 >= 1 N1 = 0 三、分析规格中每一决策点之情形,以RR1, RR2, RR3 表示计算要找50, 10, 5 元货币数时之剩余金额。R > 100R <= 0 P > 100 P < R RR1 >= 50 RR2 >= 10 RR3 >= 5 四、由上述之输入/输出条件组合出可能的情形。 R > 100 R <= 0 0 < R <= 100, P > 100 0 < R <= 100, P < R 0 < R <= 100, R <= P <= 100, RR = 50 0 < R <= 100, R <= P <= 100, RR = 49 0 < R <= 100, R <= P <= 100, RR = 10 0 < R <= 100, R <= P <= 100, RR = 9 0 < R <= 100, R <= P <= 100, RR = 5 0 < R <= 100, R <= P <= 100, RR = 4 0 < R <= 100, R <= P <= 100, RR = 1 0 < R <= 100, R <= P <= 100, RR = 0 五、为满足以上之各种情形,测试资料设计如下:

实例介绍边界值法

实例介绍边界值法 一个软件无论实现怎样各种各样丰富的功能,其内部实现都不可避免的对各种各样的数据范围进行界定与判断,从而针对不同的数据范围进行所需的处理,从而实现软件的需求,而由于需求界定不准确、设计不严密、程序书写手误等等原因,对于这些数据范围边界的判断是软件极容易出错的地方,使软件做出错误的处理,从而无法满足软件需求。针对于这种情况,软件测试中有一个测试方法叫做边界值法,这个方法也是经常被测试人员提到,我们下面来看看这个方法具体的操作方法。 首先来了解一下边界点的定义,边界点分为上点、内点和离点。如图: 结合上面的图示。 ?上点,就是边界上的点,不管它是开区间还是闭区间,就是说,如果该点是封闭的,那上点就在域范围内,如果该点是开放的,那上点就在域范 围外; ?内点,就是在域范围内的任意一个点; ?离点,就是离上点最近的一个点,如果边界是封闭的,那离点就是域范围外离上点最近的点,如果边界是开放的,那离点就是域范围内离上点最 近的点。 只要测到了这些点,就可以测出常见的一些错误,我们可以用实例来证明一下。 说明: 蓝色表示测试通过,红色表示测试未通过。

实例1,闭区间边界值测试,需求是当输入数据是2-6(含2和6)之间的整数时,输出1,否则输入0。 实例2,开区间边界值测试,需求是当输入数据是2-6(不含2和6)之间的整数时,输出1,否则输入0 从以上两例可以看出,不管是由于需求界定不准确、设计不严密、程序书写手误或者其他原因造成的语句编写错误,都可以用依据边界值法选出的测试点把它们抓出来。 边界值法多被应用于以上几个场景中: ?输入(输出)条件规定了取值范围 ?输入(输出)条件规定了值的个数 ?程序规格说明书中提到的输入或输出是一个有序的集合 ?程序中使用了一个内部数据结构 不管是哪种场景,边界值法的运用却没有太大的差别,首先都是要确定取值范围是属于开区间、闭区间还是半开半闭区间,然后再确定上点、离点、内点,分析预期结算,输出测试用例。

相关文档
最新文档