软件测试复习笔记第四章 – 黑盒测试

黑盒测试的基本概念

黑盒测试的定义

定义:黑盒测试又称为功能测试或数据驱动测试,用于检测每个功能是否能正常使用。
特点
– 黑盒测试着眼于程序外部结构
– 注重程序的外部结构,主要对软件的功能要求、软件界面、外部数据库访问以及软件初始化等负面进行测试
– 黑盒测试以需求规格说明书为依据,是从用户角度出发,从输入输出数据的对应关系出发进行测试
– 如果外部特性本身有问题或需求规格说明书规定有误,黑盒测试方法就无法发现问题

黑盒测试发现错误类型

  • 功能遗漏
  • 性能不能满足要求
  • 人机交互有错误
  • 界面有错误
  • 数据结构错误
  • 外部数据库访问错误
  • 接受数据和输出结果错误
  • 程序初始化和终止错误

黑盒测试方法

黑盒测试方法概述

从理论上讲,黑盒测试只有采用穷举输入所有可能的输入数据,才能检查出程序中所有错误。由于穷举法不可能实现,只能根据一些相关条件和方法对比较典型的测试用例(选取输入域的一个子集作为测试集)进行测试,以发现软件缺陷

黑盒测试常用的方法和技术

  1. 等价类划分
  2. 边界值分析法
  3. 错误推测法
  4. 决策表法
  5. 因果图法

等价类划分法

定义等价类是指某个输入域的子集合,在该子集合中,测试某等价类的代表值就等于对该类其他值的测试,对于揭露程序的错误具有等价的效果
全部输入数据合理划分为若干等价类,在每个等价类中取一个数据作为测试的输入条件,就可以用少量的测试数据取得较好的测试效果
1.有效等价类:对于程序的规格说明来说是合理的,有意义的输入数据构成的集合,利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能
2.无效等价类:与有效等价类相反,是指对程序的规格说明无意义、不合理的输入数据构成的集合

划分规则:
1.按取值范围:确定一个有效等价类和两个无效等价类
2.按取值个数:一个有效等价类和两个无效等价类
3.按输入值集合:划分出一个有效等价类和一个无效等价类
4.输入条件”必须如何”:确定一个有效等价类和一个无效等价类
5.输入条件布尔值:确定一个有效等价类和一个无效等价类
6.输入一组值(n个值都处理):确定n个有效等价类和一个无效等价类
7.规定了输入数据必须遵守规则:确定一个有效等价类和若干个无效等价类(不同角度违反规则)
8.确知已划分的等价类中各个元素在程序处理中的方式不同情况下,则应再将等价类进一步划分为更小的等价类

划分等价类的方法
1.确定输入域:分析需求并确定所有输入、输出量,以及变量类型和使用条件
2.等价类划分:将每个变量的取值集合划分为互不相交的子集,每个子集对应一个等价类,所有的等价类就构成了对输入域的划分
3.组合等价类:使用多元化方法,组合等价类
4.确定不可测的等价类:不可测数据是无法输入到被测软件中的数据组合

等价类设计测试用例一般经历如下步骤
1.划分等价类,形成等价类表
2.为每一个等价类规定一个唯一的编号
3.设计测试用例,使其尽可能多的覆盖尚未覆盖的等价类,重复这一步骤直到所有有效等价类均被测试用例覆盖
4.设计新测试用例,使其仅覆盖一个无效等价类,重复这一步骤直到所有无效等价类均被测试用例覆盖(每次只测试一个无效等价类)

实例
在某一程序设计语言版本中规定:在同一说明语句中,标识符至少有一个;
有效字符数为8个,最大字符数为80个;
标识符是由字母开头,后跟字母或数字的任意组合构成;
标识符必须事先说明,再使用;
在同一说明中,标识符至少出现一个

1.划分等价类,生成等价类表,并为每一个等价类标上编号

输入条件有效等价类无效等价类
标识符个数1个(1), 多个(2)0个(3)
标识符字符数1~8个(4)0个(5), >8个(6), >80个(7)
标识符组成字母(8), 数字(9)非字母数字字符(10), 保留字(11)
第一个字符字母(12)非字母(13)
标识符使用先说明后使用(14)未说明已使用(15)

等价类划分特点
1.优点:
– 简单、可量测
– 清楚的梳理被测对象,即考虑了单个输入域的各类情况
– 避免了盲目或随机选取输入数据的不完整性和覆盖的不稳定性
2.缺点:
– 没有对组合情况进行充分的考虑
– 难确定不可测等价类
– 需要结合其他测试用例设计的方法进行补充

边界值分析法

定义
实践证明,大量错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。
边界值分析法主要从数据的定义域的边界数据进行分析,对于合法的边界数据进行选取和测试。检查用户输入的信息、返回的结果以及中间结果是否正确。

特点
如果被测试的程序是多个独立变量的函数,这些变量受无量的限制,则较适合采用边界值分析。

错误推测法