边界值法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于可靠性理论中称为“单故障”的假设,即有两个 基于可靠性理论中称为“单故障”的假设, 或两个以上故障同时出现而导致软件失效的情况很少, 或两个以上故障同时出现而导致软件失效的情况很少, 也就是说软件失效基本上是由单故障引起的。因此, 也就是说软件失效基本上是由单故障引起的。因此, 边界值分析利用输入变量的最小值(min)、略大于最 边界值分析利用输入变量的最小值 、 小值(min+)、输入值域内的任意值 小值 、输入值域内的任意值(nom)、略小于 、 最大值(max-)和最大值 和最大值(max)来设计测试用例 最大值 和最大值 来设计测试用例
数值的边界值检验:计算机是基于二进制进行工 作的,因此,软件的任何数值运算都有一定的范 围限制。
项 位(bit) ) 0或1 范围或值
0 ~ 255 字节 (byte) ) 字(word) 0~65535(单字)或 ) (单字) 0~4294967295(双字) (双字) 1024 千(K) ) 兆(M) ) 吉(G) ) 1048576 1073741824
边界值分析测试
对于一个含有 个变量的程序, 对于一个含有n个变量的程序,只让其 含有 个变量的程序 中一个变量取极值, 中一个变量取极值,让其余的变量取 正常值,被保留的变量依次取min、 正常值,被保留的变量依次取 、 min+、nom、max-、max值,对 、 、 、 值 每个变量都重复进行。这样, 每个变量都重复进行。这样,对于一 个有n个变量的程序 个变量的程序, 个有 个变量的程序,边界值分析测试 程序会产生4n+1个测试用例。 个测试用例。 程序会产生 个测试用例
对16-bit 的整数而言 32767 和 -32768 是 边界 屏幕上光标在最左上、 屏幕上光标在最左上、最右下位置 报表的第一行和最后一行 数组元素的第一个和最后一个 循环的第 0 次、第 1 次和倒数第 2 次、最 后一次
边界检验的类型
数字、字符、位置、重量、大小、速度、 数字、字符、位置、重量、大小、速度、 方位、尺寸、空间 方位、尺寸、 最大/最小 首位/末位 最小、 末位、 最大 最小、首位 末位、上/下、最快 下 最快/ 最慢、最高/最低 最低、 最短/最长 最长、 最慢、最高 最低、 最短 最长、 空/满 满
健壮性测试
边界值分析的扩展 除了考虑5个边界值外, 还需要考虑采用一个略超过 最大值max+以及略小于最小 值min-的取值。 即:检查超过极限值的情况。 检查超过极限值的情况。 检查超过极限值的情况
健壮性测试-健壮性测试--观察例外处理情况
x2
<x1min-,x2nom> d
c Leabharlann Baidu b
x1
常见的边界值
有两个输入变量的程序F的边界值 分析测试用例:
<xnom,ymin>; <xnom,ymin+>; <xnom,ymax>; <xnom,ymax->; <xmin,ynom>; <xmin+,ynom>; <xmax,ynom>; <xmax-,ynom>;
<xnom,ynom>;
Y
边界值分析法测试举例(三角形问题)
条件1: 条件 : 1 ≤month ≤12 条件2: 条件 : 1 ≤day ≤31 条件3: 条件 : 1912 ≤year ≤2050
NextDate函数的边界值分析测试用例
测试用例 month Test1 Test2 Test3 Test4 Test5 Test6 Test7 6 6 6 6 6 6 6 day 15 15 15 15 15 15 15 year 1911 1912 1913 1975 2049 2050 2051 预期输出
假设有两个变量x和 的程序 的程序, 、 在下列范围 假设有两个变量 和y的程序,x、y在下列范围 内取值: c≤y≤d 内取值:a≤x≤b 区间[a,b]和[c,d]是x、y的值域,程序 的输 的值域, 区间 和 是 、 的值域 程序F的输 入定义域图所示, 入定义域图所示,即带阴影矩形中的任何点都 是程序F的有效输入 的有效输入。 是程序 的有效输入。
边界值分析的方法
边界值分析测试的基本原理:故障往往 故障往往 出现在输入变量的边界值附近. 出现在输入变量的边界值附近. 使用边界值分析方法设计测试用例,首 先应确定边界情况. 通常输入和输出等价类的边界,就是应 着重测试的边界情况.应当选取正好等 于,刚刚大于或刚刚小于边界的值作为 测试数据,而不是选取等价类中的典型 值或任意值作为测试数据.
边界值分析法
具有很强的发现程序错误的能力; 具有很强的发现程序错误的能力; 测试用例来自等价类的边界; 测试用例来自等价类的边界;
边界值分析测试的基本思想
故障往往出现在输入变量的边界值附近。 故障往往出现在输入变量的边界值附近。
例如,一个循环条件为“ ” 却错写成“ ; 例如,一个循环条件为“≤”时,却错写成“<”;计数器发生 少计数一次。 少计数一次。
假设某软件的数据输入域要求输入5位的数据值, 假设某软件的数据输入域要求输入 位的数据值, 位的数据值 最小值-1/最 可以使用10000作为最小值、99999作为 作为最小值、 最小值 最 可以使用 作为最小值 作为 数值 大值+1 大值 最大值;然后使用刚好小于5位和大于 位和大于5位的 最大值;然后使用刚好小于 位和大于 位的 数值来作为边界条件。 数值来作为边界条件。 小于空余空间 一点/大于 例如在用U盘存储数据时 盘存储数据时, 一点 大于 例如在用 盘存储数据时,使用比剩余磁盘空间 空间 大一点( 大一点(几KB)的文件作为边界条件。 )的文件作为边界条件。 满空间一 点
边界值分析法的原则
1.
2.
3. 4.
如果输入条件对取值范围进行了界定, 如果输入条件对取值范围进行了界定,则应 取值范围进行了界定 以边界内部以及刚超出范围边界外的值作为 测试用例。 测试用例。 如果对取值的个数进行了界定, 个数进行了界定 如果对取值的个数进行了界定,则应当分别 以最大、最小个数及稍小于最小、 以最大、最小个数及稍小于最小、稍大于最 大个数作为测试用例。 大个数作为测试用例。 对于输出条件,同样应用以上原则设计用例. 对于输出条件,同样应用以上原则设计用例 如果规格说明中指明输入或者输出域是一个 有序的集合,如顺序文件、表格等, 有序的集合,如顺序文件、表格等,则以该 有序集合中的第一个和最后一个元素作为测 试用例。 试用例。
year超出 超出[1912,2050] 超出
1912.6.16 1913.6.16 1975.6.16 2049.6.16 2050.6.16
year超出 超出[1912,2050] 超出
测试用例 Test8 Test9 Test10 Test11 Test12 Test13
month 6 6 6 6 6 6
作业2
某人事管理系统包括内容如下:
边界值分析测试用例 输入项 姓名 性别 籍贯 出生日期 学历 身高 德才表现 描述 2-20个字符 20个字符 1个字符 20个字符 20个字符 19111911-2999 月1-12 日1-31 2个字符 3位字符 500-2000个字符 500-2000个字符 边值
day 0 1 2 30 31 32
year 2001 2001 2001 2001 2001 2001
预期输出 day超出 超出[1,31] 超出 2001.6.2 2001.6.3 2001.7.1 输入日期超界 day超出 超出[1,31] 超出
测试用例 Test14 Test15 Test16 Test17 Test18 Test19
边界值分析的特点和局限性
对于一个n变量函数, 对于一个n变量函数,边界值分析会产 4n+ 个测试用例。 生4n+1个测试用例。 边界值的取值取决于变量本身的性质。 边界值的取值取决于变量本身的性质。 边界值分析对布尔变量没有什么意义。 边界值分析对布尔变量没有什么意义。 边界值分析假设变量是完全独立的。 边界值分析假设变量是完全独立的。
month -1 1 2 11 12 14
day 15 15 15 15 15 15
year
预期输出
2001 month超出 超出[1,12] 超出 2001.1.16 2001 2001 2001.2.16 2001 2001.11.16 2001 2001.12.16 2001 month超出 超出[1,12] 超出
举例
项 边界值 测试用例的设计思路 假设一个文本输入区域允许输入1个到 假设一个文本输入区域允许输入 个到255个 字 个到 个 输入1个和 个和255个字符作为有效等价类; 个字符作为有效等价类; 符,输入 个和 个字符作为有效等价类 输入0个和 个和256个字符作为无效等价类,这几 个字符作为无效等价类, 输入 个和 个字符作为无效等价类 个数值都属于边界条件值。 个数值都属于边界条件值。 起始-1个字 起始 个字 字符 符/结束 结束 +1个字符 个字符
NextDate函数
NextDate函数有三个变量 NextDate函数有三个变量 month,day,year的函数 的函数, month,day,year的函数,输出为输入日 期下一天的日期。 输入为2007 2007年 期下一天的日期。如:输入为2007年7 19日 输出为2007 2007年 20日 月19日,输出为2007年7月20日。要求 三个变量都为整数,且满足: 三个变量都为整数,且满足:
测试用例 Test1 Test2 Test3 Test4 Test5 Test6 Test7 Test8 Test9 Test10 Test11 Test12 Test13 规则 a 60 60 60 50 50 60 60 50 50 1 2 99 100 b 60 60 60 50 50 1 2 99 100 60 60 50 50 c 1 2 60 99 100 60 60 50 50 60 60 50 50 预期输出 等腰三角形 等腰三角形 等边三角形 等腰三角形 非三角形 等腰三角形 等腰三角形 等腰三角形 非三角形 等腰三角形 等腰三角形 等腰三角形 非三角形
边界值分析-平方根函数
Y=sqrt(x)
输入区间 - (ⅰ)
x>=0
0 (ⅱ) +
1
2
3
4
5
测试平方根函数的两个输入区间 X>=0 X<0
边界值分析--平方根函数边界值分析法的5个测试用例
Test1:输入最大负实数 返回 输出 输入最大负实数,返回 输出error! 输入最大负实数 返回0,输出 Test2:输入仅比 小的数 返回 输出 输入仅比0小的数 返回0,输出 输入仅比 小的数,返回 输出error! Test3:输入 返回 输入0,返回 输入 返回0. Test4:输入仅比 大的数 返回输入的正数平 输入仅比0大的数 输入仅比 大的数,返回输入的正数平 方根. 方根 Test5:最大正实数 返回输入的正数平方根 最大正实数,返回输入的正数平方根 最大正实数
Y
对于一个含有n个变量的程序, 对于一个含有 个变量的程序,保留其中 个变量的程序 一个变量,让其余的变量取正常值, 一个变量,让其余的变量取正常值,被保留 的变量依次取min、min+、nom、max-、 的变量依次取 、 、 、 、 max值,对每个变量都重复进行。这样,对 值 对每个变量都重复进行。这样, 于一个有n个变量的程序 个变量的程序, 于一个有 个变量的程序,边界值分析测试程 序会产生4n+1个测试用例。 个测试用例。 序会产生 个测试用例
内部边界值分析
在多数情况下,边界值条件是基于应用程序 在多数情况下, 的功能设计而需要考虑的因素, 的功能设计而需要考虑的因素,可以从软件的 规格说明或常识中得到,也是最终用户可以很 规格说明或常识中得到, 容易发现问题的。 容易发现问题的。 然而,在测试用例设计过程中, 然而,在测试用例设计过程中,某些边界值条 件是不需要呈现给用户的, 件是不需要呈现给用户的,或者说用户是很难 注意到的, 注意到的,但同时确实属于检验范畴内的边界 条件,称为内部边界值条件或子边界值条件。 条件,称为内部边界值条件或子边界值条件。