感谢网友“简单实现”对本文的校对。
--------------------------------------------------------------------------------------------------
文章参考:
书名 | ISBN | 出版社 |
《软件测试方法和技术》(第2版) | 978-7-302-22583-6 | 清华大学出版社 |
《软件测试》 | 978-7-115-17775-9 | 人民邮电出版社 |
《软件测试》 | 978-7-302-16966-6 | 清华大学出版社 |
http://blog.csdn.net/a00553344/article/details/1834654。
http://wenku.baidu.com/view/a77b6b7d168884868762d662.html。
--------------------------------------------------------------------------------------------------
边界值分析法(是对等价类划分方法的补充)
基本思路:边界值分析也是一种黑盒测试方法,是对等价类分析方法的一种补充,由长期的测试工作经验得知,大量的错误是发生在输入或输出的边界上。因此针对各种边界情况设计测试用例,可以查出更多的错误。
编写测试用例的步骤:
(1)根据被测对象的输入(或输出)要求确定边界值。
(2)选取等于、刚刚大于、刚刚小于边界的值作为测试数据。
注:基本思想是在最小值(min)、略高于最小值(min+)、正常值(nom)、略低于最大值(max-)和最大值(max)等处取值。
单缺陷假设和多缺陷假设:
单缺陷假设:
是指“失效极少是由两个或两个以上的缺陷同时发生引起的”。要求测试用例只使一个变量取极值,其他变量均取正常值;
多缺陷假设:
是指“失效是由两个或两个以上缺陷同时作用引起的”,要求测试用例时同时让多个变量取极值。
边界值测试分类:
单变量假设 | 多变量假设 | |
有效值 | 一般边界值 | 一般最坏情况边界值 |
无效值 | 健壮性边界值 | 健壮最坏情况边界值 |
一般边界值
仅考虑有效区间单个变量边界值(一般边界值):用最小值、略高于最小值、正常值、略低于最大值和最大值。
如果被测变量个数为n,则测试用例个数为4n+1
函数y=f(x1,x2)输入变量的取值范围分别为:x1∈[a,b],x2∈[c,d]
例子:
有函数f(x,y,z),其中x∈[1900,2100],y∈[1,12],z∈[1,31]的。请写出该函数采用基本边界值分析法设计的测试用例?
解:
对于包含3个变量的程序,采用边界值分析法,至少要产生4*3+1=13个用例
<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> |
<2100,6,15> |
一般最坏情况边界值
仅考虑有效区间多个变量边界值同时作用(一般最坏情况边界值):用各个变量最小值、略高于最小值、正常值、略低于最大值和最大值的笛卡尔积。
如果被测变量个数为n,则测试用例个数为5n
函数y=f(x1,x2)输入变量的取值范围分别为:x1∈[a,b],x2∈[c,d]
健壮边界值
同时考虑有效区间和无效区间单个变量边界值(健壮边界值):除了最小值、略高于最小值、正常值、略低于最大值、最大值,还要有略超过最大值和略小于最小值的值。
如果被测变量个数为n,则测试用例个数为6n+1
函数y=f(x1,x2)输入变量的取值范围分别为:x1∈[a,b],x2∈[c,d]
健壮最坏情况边界值
同时考虑有效区间和无效区间多个变量边界值同时作用(健壮最坏情况边界值):用各个变量最小值、略高于最小值、正常值、略低于最大值、最大值、略超过最大值和略小于最小值的笛卡尔积。
如果被测变量个数为n,则测试用例个数为7n
函数y=f(x1,x2)输入变量的取值范围分别为:x1∈[a,b],x2∈[c,d]
例子:新浪博客图片上传,要求如下:
1.上传文件大小不超过5M
以健壮边界值的标准可选取5M(正好等于)、5.1M(刚刚大于)、3M(正常值)0.1M(略高于最小值)4.9M(略小于最大值)最为边界值来测试。
序号 | 输入及操作说明 | 期望的测试结果 |
1 | 5M | 符合要求 |
2 | 5.1M | 不符合要求 |
3 | 3M | 符合要求 |
4 | 0.1M | |
5 | 4.9M |
边界值附近的数据确定的几种方法:
项 | 边界值 | 测试用例的设计思路 |
字符 | 起始-1个字符/结束+1个字符 | 假设一个文本输入区域允许输入1~255个字符,输入1个和255个字符作为有效等价类;输入0个和256个字符为无效等价类,这几个数值都属于边界条件值 |
数值 | 开始位-1/结束位+1 | 数据的输入域为1~999,其最小值为1,最大值为999,则0、1000为边界值 |
空间 | 小于空余空间一点/大于满空间一点 | 测试数据存储时,使用比最小剩余空间大一点(几千字节)的文件作为最大值检验的边界条件 |
方向 | 刚刚超过/刚刚低于 | |
报表 | 第一行和最后一行 | |
数组 | 第一个和最后一个下标元素 | |
数据类型 | 16位整型数据,32767和-32768 | |
循环结构 | 第2次和倒数第2次循环 |
数值的边界值检验:
项 | 范围或值 |
位(b) | 0或1 |
字节(B) | 0~255 |
字(Word) | 0~65 535(单字)或0~4 294 967 295(双字) |
千(KB) | 1024 |
兆(MB) | 1 048 576 |
吉(GB) | 1 073 741 824 |
万亿(TB) | 1 099 511 627 776 |
字符的边界值检验:
字符 | ASCII码值 | 字符 | ASCII码值 |
空(NULL) | 0 | A | 65 |
空格(SPACE) | 32 | B | 66 |
斜杠(/) | 47 | Y | 89 |
冒号(:) | 58 | Z | 90 |
分号(;) | 59 | 左中括号[ | 91 |
< | 60 | 反斜杠() | 92 |
= | 61 | 右中括号] | 93 |
> | 62 | 单引号(‘) | 96 |
? | 63 | a | 97 |
@ | 64 | b | 98 |
0 | 48 | y | 121 |
9 | 57 | z | 122 |
练习题:
(1)测试计算正数平方根的函数。其输入、输出均为一个实数,当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息“平方根非法,输入值小于0”。
解答地址:。
解答地址:http://blog.sina.com.cn/s/blog_44f64c70010119nx.html。
--------------------------------------------------------------------------------------------------
相关链接:
软件测试文章导航:http://blog.sina.com.cn/s/blog_44f64c70010111q3.html。--------------------------------------------------------------------------------------------------
PS:
编写日志的工具:
画图工具:Edraw Max、MicrosoftOffice Visio
截图工具:QQ聊天界面的截图工具PPS:如果本文对您有帮助,请单击文章最后右下角的“顶”字或留言。
PPPS:本人水平有限,难免出现错误。如您发现错误,请批评指正。