黑盒测试方法之边界值分析

1. 概述

在长期的测试工作中,人们发现大量的错误都是出现在了输入和输出域的边界范围上,而并不是输入范围的内部。因此要对各种边界情况设计测试用例,以查找出更多的错误。
边界值属于等价类方法的特定输入域,包含在有效等价类或无效等价类中,根据等价类推断理论,边界值方法产生的测试数据测试效果和等价类方法相同,只是边界值方法产生的数据更具有针对性,通常选取输入域的边界值。

2. 边界条件和次边界条件

>边界条件

边界条件是特殊情况,比如要求输入的长度为6-10,位,那么边界条件就是长度为6和长度为10以及两种情况。除此之外,还有长度比6与10小1位和大1位这四种情况。

>次边界条件

上面的边界条件是很容易找到的,一般都在规格说明书中有明确规定,或在使用软件时确定。但是有些边界是在软件的内部的,最终用户几乎是看不到的,但是在测试时依然要检查到这些点,这样的条件被称为内部边界条件或次边界条件。
例如在一个接收用户输入范围为1000以内的整数的程序,明面上的区间为0到1000,但是还要考虑到计算机内部的存储问题,也就是说要考虑到2的乘方的边界的情况,比如14、15、16等。

3. 边界值构造测试数据时的三个点

>上点

上点是指输入域边界上的点,如果输入域是闭区间,则上点在输入域内,反之如果输入域是开区间,则上点在输入域外。

>离点

离点是指离上点最近的一个点,如果输入域是封闭的,则离点在域的范围外,如果输入域是开区间,则离点在域的范围内,并且离点的选择和上点的数据类型和精度有关。
例如,长度为7到10的输入域,上点就是7和10,如果针对输入域[7,10],则离点就是6和9,而针对输入域(7,10),则离点是8和9,上述输入域的精度都是1。

>内点

内点是输入域范围内的任意一个点。

4. 边界值的选择方法

边界值分析是一种补充等价类划分的测试用例技术,它不是选择等价类的任意元素,而是选择等价类边界的测试用例。边界值分析法不仅重视输入条件边界,也适用于输出域测试用例。在使用该方法设计测试用例时,遵循以下原则:

  1. 如果输入条件规定了值得范围,则应取刚达到这个范围的边界的值以及刚刚超越这个边界的值作为测试输入数据。
  2. 如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少1和比最大个数多1的数据作为测试数据。
  3. 如果程序的规格说明书给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试数据。
  4. 如果程序使用了一个内部数据结构,则应当选择这个内部数据结构边界上的值作为测试用例。
  5. 分析规格说明,找出其他可能的边界条件。

5. 边界值划分表

参考等价类设计方法中等价类划分方法,确定了有效和无效等价类后,输入每个输入域的上点、内点、离点,填入表格,形成下面的边界值划分表。
在这里插入图片描述
根据形成的边界值划分表确定测试用例/数据的步骤如第6部分所示。

6. 根据边界值划分表确定测试数据的基本步骤

在绘制出边界值划分表后,就可以根据表格来确定测试数据/用例了,其步骤和等价类中确定测试用例的步骤类似,具体如下:

  1. 为每个等价类的上点、内点、离点设定唯一编号,上点、内点统一编号,离点统一编号。
  2. 设计新的测试用例,该测试用例只覆盖一个边界值划分表中尚未被覆盖的点即可,不断重复此步骤,直到边界值划分表中所有的内点、离点、上点全部被覆盖完即可。

边界值设计在实际的使用中应该明确上点、内点及离点,通常而言,边界值设计就是在等价类的方法上增加了针对上点和离点的测试。

7. 实例

这个实例仍然以上篇文章《等价类划分》最后的实例为例,用边界值分析的方法选取测试数据,作为等价类划分形成测试数据的补充。
实例的内容主要为:以126邮箱注册功能页面为例,其中邮箱地址需要由为6~18个字符构成,包括字母、数字、下划线并且必须以字母开头和以字母或数字结尾。

其截图如下:
在这里插入图片描述
按照实例主要内容中的描述,再结合第4部分边界值的选择方法中的内容,可以非常容易的发现,针对等价类划分中的关于用户名或者说是邮箱地址的长度情况是适用于边界值分析法设计测试用例的,并且其适用于其中第一个原则。在明确了这点后,针对长度部分,按照第4部分的第一个原则,参考第5部分的边界值划分表,可以绘制以下的边界值划分表:
在这里插入图片描述
由于针对的是邮箱的长度情况进行测试,所以在等价类名框直接输入了[6,18],然后在编写内点、上点、离点的相关信息。
最后,根据上述的边界值划分表,结合第6部分的步骤,从中即可抽取出以下的测试用例/数据:
在这里插入图片描述
上表中的5条测试数据就是根据边界值分析法得到的测试数据,其覆盖了输入域[6,18]的内点、离点和外点,补充了等价类划分设计的测试数据的不足。

©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页