黑盒测试_边界值分析法
来源:互联网 发布:php开发基础入门 编辑:程序博客网 时间:2024/05/16 10:58
引入
一个软件无论实现怎样各种各样丰富的功能,其内部实现都不可避免的对各种各样的数据范围进行界定与判断,从而针对不同的数据范围进行所需的处理,从而实现软件的需求。而由于需求界定不准确、设计不严密、程序书写手误等原因,对于这些数据范围边界的判断是软件极容易出错的地方,使软件做出错误的处理。从而无法满足软件需求。
针对于这种情况,软件测试中有一个测试方法叫做边界值法,这个方法也是经常被测试人员提到,我们下面来看看这个方法具体的操作方法。
为什么会有边界值分析法?
长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。
例如:
程序员只处理了1-10位的情况,忘记对10位进行处理;
程序员把≤误写成了<,计数器发生少计数一次。
边界值分析法
对输入或输出的边界值进行测试的一种黑盒测试方法。
是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
边界点
1、边界是指相对于输入等价类和输出等价类而言,稍高于、稍低于其边界值的一些特定情况。
2、边界点分为上点、内点和离点。
边界值分析法&等价类划分法
边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。
如何选择测试数据?(原则)
1、如果输入条件规定了值的范围,则应取刚达到这个范围的边界值,以及刚刚超越这个范围边界的值作为测试输入数据。
例如:程序的规格说明中规定:“重量在10公斤至50公斤范围内的邮件,其邮费计算公式为……”。
测试数据取7个点应取10、25及50,还应取10.01,49.99,9.99及50.01
测试数据取5个点赢取10、25及50,还应取9.99及50.01
重量可以是小数,没有规定小数点个数时默认取两位
2、如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少1,比最大个数多1的数作为测试数据。
例如,一个输入文件应包括1-255个记录。
测试数据可取1和255,还应取0及256等
3、根据规格中每个输出条件,使用原则1,如果输出条件规定了值的范围,则应取刚达到这个范围的边界值,以及刚刚超越这个范围边界的值作为测试输入数据。
例如,程序的规格说明要求计算出“每月绩效奖金为0至1165.25元”。
测试用例可取0.00及1165.25,还可取-0.01及1165.26等。
4、根据规格中每个输出条件,使用原则2,如果输出条件规定了值的个数,则用最大个数、最小个数,比最小个数少1,比最大个数多1的数作为测试数据。
例如,情报检索系统,要求每次“最少显示1条、最多显示4条情报摘要”。
这时我们应考虑的测试用例包括1和4,还应包括0和5等。
5、如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。
例如,程序系统设计文档中,上传的图片:图片格式、图片名字、图片大小、图片是否有效…
6、分析规格说明,找出其他可能的边界条件
例如,特殊边界值:默认值、空值、空格、零、无效数据等
边界值检验的主要类型
边界类型
输入
数字
最大、最小
字符
首位、末位
位置
上、下
重量
最高、最低
速度
最快、最慢
方位
最高、最低
尺寸
最长、最短
空间
空、满
…
…
在多数情况下,边界值条件是基于应用程序的功能设计而需要考虑的因素,可以从软件的需求规格或常识中得到,也是最终用户可以很容易发现问题的。
还有没有从软件规格说明中看不到的边界值呢?
内部边界值
有些边界值条件在软件内部,用户几乎看不到,但同时确实属于检验范畴内的边界条件,成为内部边界条件或次边界值条件。
常见的内部边界值条件有下面两种:
数值的边界值
字符的边界值
在实际的测试用例中,需要将基本的软件设计要求和程序定义的要求结合起来,即结合基本边界值条件和内部边界值条件来设计有效的测试用例。
内部边界值(1):数值的边界值
计算机是基于二进制进行工作的,因此,软件的任何数值运算都有一定的范围限制。
项
范围或值
位(bit)
0或1
字节(byte)
0-255
字(Word)
0-65535(单字)或0-4294967295(双字)
例如,程序有一个输入变量x的范围是(0,10000),但是在程序内部,当想x≤255时,用一个字节表示,当x>255时用一个字表示,那么,255就是一个内部边界值。
边界条件设计测试用例步骤
1、确定边界情况
通常输入或输出等价类的边界就是应该着重测试的边界情况。
2、选取测试数据
选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值。
例如:程序的规格说明中规定:“重量在10公斤至50公斤范围内的邮件,其邮费计算公式为……”。
测试数据取7个点应取10、25及50,还应取10.01,49.99,9.99及50.01
测试用例
X
输入数据
预期输出
T1
Xmin-
9.99
F1
T2
Xmin
10
F2
T3
Xmin+
10.01
F3
T4
Xnom
25
F4
T5
Xmax-
49.99
F5
T6
Xmax
50
F6
T7
Xmax+
50.01
F7
例如:对于函数F(x1,x2),其输入变量x1和x2的取值边界定义如下:
a≤x1≤b;c≤x2≤d
其中两个变量都为正数。
编号
X1
X2
F(x1,x2)
1
ab
c
F(ab,c)
2
ab
d
F(ab,d)
3
ab
cd
4
ab
c-
5
ab
d+
6
a
cd
7
b
cd
8
a-
cd
9
b+
cd
边界条件测试用例设计法
基于边界的方法是根据定义域来实现的,最终演变成一般边界值条件测试、健壮性测试、最坏情况测试和健壮最坏情况测试四种技术。
1、一般边界值条件测试:(1)每次保留程序中一个变量,让其余的变量取正常值,被保留的变量依次取min、min+、nom、max-、max
(2)对程序中的每个变量重复(n个变量的测试用例个数为4n+1个)
2、健壮性测试:(1)每次保留程序中一个变量,让其余的变量取正常值,被保留的变量依次取min-、min、min+、nom、max-、max、max+。
(2)对程序中的每个变量重复(n个变量的测试用例个数为6n+1个)
3、最坏情况测试:(1)所有变量均可去min、min+、nom、max-、max+这五个边界值中的任何一个。(组合)
(2)测试用例为五个集合的笛卡尔乘积。对于一个n变量函数,该方法生成的测试用例数为5的n次方个。
4、健壮最坏情况测试:(1)所有变量均可取min-、min、min+、nom、max-、max、max+这7个边界值中的任何一个。
(2)测试用例为7个集合的笛卡尔乘积。对于一个n变量函数,该方法生成的测试用例数为7的n次方个。
- 黑盒测试_边界值分析法
- 黑盒测试设计方法-边界值分析法回顾
- 黑盒测试-边界值分析方法
- 浅析黑盒测试中的边界值分析
- 黑盒测试用例设计模式-边界值分析(上)
- 黑盒测试之边界值分析,因果图等
- 黑盒测试之边界值分析、错误猜测
- 黑盒测试之边界值分析、错误猜测
- 黑盒测试之边界值分析、错误猜测
- 黑盒测试之边界值分析、错误猜测
- 黑盒测试--等价类划分、边界值分析
- 黑盒测试方法二 (边界值分析)
- 软件测试基础(三)---黑盒测试之边界值法
- 黑盒测试(一)-----边界值测试
- 黑盒测试——边界值划分法
- 软件黑盒测试之边界值方法
- 黑盒测试方法(二)边界值
- 黑盒设计测试用例方法——等价类划分法、边界值分析法、错误推断法
- HDU 6138 Fleet of the Eternal Throne(AC自动机)
- MOTOx4虽被人吐槽的外形,但这一点你肯定喜欢
- SpringMVC 控制器写多个方法(非注解方式)
- 状态模式
- 计算图(computational graph)角度看BP(back propagation)算法
- 黑盒测试_边界值分析法
- HDU 6168 Numbers
- Eureka
- python中web服务器和web框架之间的规范 小白深度理解WSGI
- Spring Cloud源码分析Ribbon
- sql server 列信息查询
- AFNetworking怎么post x-www-form-urlencoded类型的数据
- Java面试宝典2015版(绝对值得收藏超长版)(一)
- linux ubuntu 16.04 deb文件的安装