chapter5_边界值分析方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
低于最大值和最大值处取输入变量值
w例如:涉及两个变量的函数x1,x2
w表示方法miFra Baidu bibliotek、min+、nom、max-、和max
ªX1的取值x1min,x1min+,x1nom,x1max-,x1max
ªX2的取值x2min,x2min+ ,x2nom,x2max-,x2max
边界值分析的取值
7
“单缺陷”假设
X2
11
练习
例 1 : 有 二 元 函 数 f(x,y) , 其 中 x∈[1,12] , y∈[1,31] 。 则采用边界值分析法设计的测试用例是: { <1,15>, <2,15>, <11,15>, <12,15>, <6,15>, <6,1>, <6,2>, <6,30>, <6,31> } 推论:对于一个含有n个变量的程序,采用边界值分析法测 试程序会产生4n+1个测试用例。 例 2 : 有 函 数 f(x,y,x) , 其 中 x∈[1900,2100] , y∈[1,12] , z∈[1,31] 的。请写出该函数采用边界值分析法设计的测试 用例。 { <2000,6,1>, <2000,6,2>, <2000,6,30>, <2000,6,31>, <2000,1,15>, <2000,2,15>, <2000,11,15>, <2000,12,15>, <1900,6,15>, <1901,6,15>, <2099,6,15>, <2100,6,15>, <2000,6,15> }
字符的边界值检验
³ 在计算机软件中,字符也是很重要的表示元素,其中ASCII 和Unicode是常见的编码方式。下表中列出了一些常用字符 对应的ASCII码值。 字符 空 (null) 空格 (space) 斜杠 ( / ) 0 冒号 ( : ) @ ASCII码值 0 32 47 字符 A a Z ASCII码值 65 97 90
最坏情况测试举例(2)
ª最坏情况测试用例设计
月份取值:1, 2, 6, 11, 12 日期取值:1, 2, 15, 30, 31 年取值:1812, 1813, 1912, 2011, 2012
5.4 健壮最坏情况测试
w对每一个变量,首先进行包含最小值、略
高于最小值、正常值、略低于最大值、最 大值五个元素集合的测试,还要采用一个 略超过最大值的取值,以及一个略小于最 小值的取值。然后对这些集合进行笛卡尔 积计算以生成测试用例。
48
58 64
z
单引号 ( ‘ )
122
96
5.2 健壮性测试
w健壮性是指在异常情况下,软件还能正常
运行的能力。
w健壮性有两层含义:
ª容错能力
ª恢复能力
健壮性测试的基本思想
w健壮性测试是边界值分析的一种简单扩展,
除了使用五个边界值分析取值,还要使用:
ª一个略超过最大值(max+)的取值
ª一个略小于最小值(min-)的取值
作为测试数据。
常见的边界值
对16-bit 的整数而言 32767 和 -32768 是边界
屏幕上光标在最左上、最右下位置
报表的第一行和最后一行 数组元素的第一个和最后一个 循环的第 0 次、第 1 次和倒数第 2 次、最后一次
边界值分析的基本思想
w在最小值、略高于最小值、正常值、略
举例 —— 利用边界值作为测试数据
项 边界值 测试用例的设计思路
假设一个文本输入区域允许输入1个到255个 字 起始-1个字 符,输入1个和255个字符作为有效等价类;输 字符 符/结束+1 入0个和256个字符作为无效等价类,这几个数 个字符 值都属于边界条件值。 假设某软件的数据输入域要求输入5位的数据 最小值-1/ 值,可以使用10000作为最小值、99999作为最 数值 最大值+1 大值;然后使用刚好小于5位和大于5位的 数值 来作为边界条件。 小于空余 空间一点/ 例如在用U盘存储数据时,使用比剩余磁盘空 空间 大于满空 间大一点(几KB)的文件作为边界条件。 间一点
最坏情况测试举例
w三角形问题
ª三条边a,b,c取整数值,且各边的取值范围是:[1,
200]
w最坏情况测试用例
ª每条边的取值:
1, 2, 100, 199, 200
ª测试用例数目:5n
三角形问题(n=3) :用例数为125
wNextDate的测试用例
ª输入条件
1≤月份≤12 1≤日期≤31 1812 ≤年≤2012
边界值分析方法
School of Software YUNNAN UNIVERSITY Fei Dai 2013.9
大纲
5.1 边界值分析法概要 5.2 健壮性测试 5.3 最坏情况测试 5.4 健壮最坏情况测试
5.1 边界值分析法概要
边界值分析法( Boundary Value Analysis )就是对输 入或输出的边界值进行测试的一种黑盒测试方法。 通常边界值分析法是作为对等价类划分法的补充, 这种情况下,其测试用例来自等价类的边界。 边界值分析法的基本思想:
数值的边界值检验
³ 计算机是基于二进制进行工作的,因此,软件的任何数值 运算都有一定的范围限制。
计算机数值运算的范围

位(bit) 字节(byte) 字(word)
范围或值
0或1 0 ~ 255 0~65535(单字)或 0~4294967295(双字)
千(K)
兆(M) 吉(G)
0 ~1024
0 ~1048576 0 ~1073741824
数字、字符、位置、质量、大小、速度、方位、尺寸、 空间等
相应地,以上类型的边界值应该在:
最大/最小、首位/末位、上/下、最快/最慢、最高/最低、 最短/最长、 空/满等情况下
内部边界值分析
在多数情况下,边界值条件是基于应用程序的功能 设计而需要考虑的因素,可以从软件的规格说明或 常识中得到,也是最终用户可以很容易发现问题的 。 然而,在测试用例设计过程中,某些边界值条件是 不需要呈现给用户的,或者说用户是很难注意到的 ,但同时确实属于检验范畴内的边界条件,称为内 部边界值条件或子边界值条件。
{ <x1nom,x2min>, <x1nom,x2min+>, <x1nom,x2nom>, <x1nom,x2max->, <x1nom,x2max>, <x1min,x2nom>, <x1min+, x2nom>, <x1max-, x2nom>, <x1max, x2nom> }
两个变量函数边界值分析测试用例
举例:三角形问题
w三角形问题描述
ª三条边a,b,c取整数值,且各边的取值范围是:[1,
200]
w边界值分析设计测试用例
ª每条边的取值:
1, 2, 100, 199, 200
ª测试用例数目:4n+1
三角形问题(n=3) :用例数为13
练习:NextDate函数
w输入条件
ª1≤月份≤12
ª1≤日期≤31
ª1812 ≤年≤2012
w请用边界值分析设计测试用例
边界值分析优缺点
w边界值测试分析采用了可靠性理论的单缺
陷假设。
w优点:简便易行;生成测试数据的成本很低;
w局限性:
ª测试用例不充分;不能发现测试变量之间的依
赖关系;不考虑含义和性质;
w结论:只能作为初步测试用例使用
常见的边界值
通常情况下,软件测试所包含的边界检验有几种类 型:
两个变量函数的健壮性测试用例
X2
23
健壮性测试的讨论
w健壮性测试最有意思的部分不是输入而是预
期的输出
w健壮性测试的主要价值是观察异常情况的处

ª软件质量要素的衡量标准:软件的容错性
ª软件容错性的度量:
从非法输入中恢复
健壮性测试的测试用例个数 思考:一个变量个数为n的函数
的健壮性测试会产生多 少个测试用例?
w一个变量个数为n的函数的最坏情况测试会
产生5n个测试用例。
w
两变量函数的最坏情况测试用例
X2
28
最坏情况与边界值分析的比较
w基本边界值分析测试用例是最坏情况测试用
例的真子集。
w最坏情况测试显然更彻底 w最坏情况测试工作量大得多
ªn变量函数的最坏情况测试会产生5的n次方个测
试用例,
ª边界值分析只产生4n+1个测试用例
w“单缺陷”假设
ª失效极少是由两个或多个缺陷的同时发
生引起的
w“单缺陷”假设是边界值分析的关键
假设
边界值分析测试用例
w边界值分析获得测试用例的方法:
ª使所有变量取正常值,只使一个变
量取极值;
ª对于一个n变量函数,边界值分析会
产生4n+1个测试用例。
两个变量函数边界值分析测试用例
wX1取值:x1min,x1min+,x1nom,x1max-,x1max wX2取值:x2min,x2min+ ,x2nom,x2max-,x2max w两个变量函数的边界值分析测试用例
w一个变量个数为n的函数的最坏情况测试
会产生7n个测试用例。
两变量函数的健壮最坏情况测试用例
33
Thank You!
5.3 最坏情况测试
w最坏情况测试的基本思想
ª边界值测试分析采用了可靠性理论的
单缺陷假设
ª最坏情况测试拒绝这种假设,关心当
多个变量取极值时会出现什么情况?
最坏情况测试用例设计方法
w对每一个变量首先进行包含最小值、略高
于最小值、正常值、略低于最大值、最大 值五个元素集合的测试,然后对这些集合 进行笛卡尔积计算,以生成测试用例。
无数的测试实践表明,大量的故障往往发生在输入定义 域或输出值域的边界上,而不是在其内部。因此,针对各 种边界情况设计测试用例,通常会取得很好的测试效果。
基本步骤
怎样用边界值分析法设计测试用例?
(1)首先确定边界情况。通常输入或输出等价类的
边界就是应该着重测试的边界情况。
(2)选取正好等于、刚刚大于或刚刚小于边界的值
相关文档
最新文档