边界值分析法案例

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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的乘方

术语

范围或值

位bit

0或1

双位doublebit

0~15

字节Byte

0~255

字word

0~65,535或者0~4,294,967,295

千K

1,024

兆M

1,048,576

亿

1,073,741,824

万亿

1,099,511,627,776

计算机和软件的基础是二进制数。因此二的乘方是作为边界条件的重要数据。如:在通讯软件中,带宽或者传输信息的能力总是受限制,因此软件工程师会尽一切努力在通讯字符串中压缩更多数据。其中一个方法就是把信息压缩到尽可能小的单元中,发送这些小单元中最常用的信息,在必要时再扩展为大一些的单元。假设某种通讯协议支持256条命令。软件将发送编码为一个双位数据的最常用的15条命令;如果用到第16到256之间的命令,软件就转而发送编码为更长字节的命令。这样,软件就会根据双位/字节边界执行专门的计算和不同的操作。

在建立等价区间的时候,要考虑是否需要包含2的乘方边界条件。例如:软件接受1~1000范围内的数字,那么合法区间除了1和1000,也许还有2和999之外,还应该有临近2的乘方次边界:14,15,16以及254,255和256。

--------------------------------------------------------------------------------

ASCII表

ASCII码表并不是结构良好的连续表。数字0~9对应48~57;斜杠字符(/)在0的前面,冒号(:)在9的后面;大写字母A~Z对应65~90;小写字母对应97~122。这些情况都代表次边界条件。

如果测试进行文本输入或文本转换的软件,在定义数据区间包含哪些值时,参考一下ASCII表是相当明智的。例如:测试的文本框只接受用户输入字符A~Z和a~z,就应该在非法区间中包含ASCII表中这些字符前后的值——@,',[,{。

相关文档
最新文档