[软件测试] 第三部分 黑盒测试

发布时间 2023-12-30 22:46:22作者: feixianxing

黑盒测试

概念与定义

  1. 黑盒测试:又称功能测试、数据驱动测试或基于需求规格说明书的测试。通过黑盒测试来检测每个功能是否都能正常使用。黑盒测
    试把测试对象看成一个黑盒子,完全不考虑程序内部结构和处理过程。
  2. 等价类划分法:把所有可能的输入数据,即程序的输入域划分成若干互不相交的子集,称为等价类。所有子集的并集则构成整个输入域。然后从每一个子集中选取少量具有代表性的数据作为测试用例。
  3. 有效等价类:对于程序规格说明而言,由合理的、有意义的输入数据构成的集合。
  4. 无效等价类:对于程序规格说明而言,由不合理的、无意义的输入数据构成的集合。(根据具体问题,无效等价类存在至少一个或多个)
  5. 边界值测试:在输入或输出变量范围的边界值上进行测试的一种黑盒测试方法。
  6. 边界点:可能导致被测系统内部处理机制发生变化的点。
  7. 标准边界值测试:最小值,略高于最小值,正常值,略低于最大值,最大值。产生4n+1个测试用例。
  8. 健壮边界值测试:略小于最小值,最小值,略高于最小值,正常值,略低于最大值,最大值,略大于最大值。产生6n+1个测试用例。
  9. 场景法:基于系统业务,分析触发的事件,判断控制流形成测试场景,围绕着事件流和场景进行的测试。
  10. 场景法以事件流为核心。
  11. 用例场景:从系统的某个初始状态开始,到达某个结束状态为止,所经过的路径。
  12. 基本流:从初始态到终止态过程中最主要的业务流程。基本流只有一个。往往选择高风险事件流作为基本流。
  13. 备选流:以基本流为基础,在基本流所经过的每个判定节点处满足不同的触发条件而导致的其它事件流。
  14. 场景:基本流和备选流的有序集合。一个场景中至少应包含一条基本流或者由一条基本流和零到多条备选流构成。

简答

黑盒测试的优缺点

优点

  • 方法简单有效;
  • 可以整体测试系统的行为;
  • 开发与测试可以并行;
  • 对测试人员技术要求相对较低;
  • 容易实现自动化测试;
  • 依据测试用例有针对性地寻找问题,定位更准确,容易生成测试数据。

缺点

  • 无法测试代码;
  • 如果需求规格说明设计有误,很难发现错误所在;
  • 测试不能充分地进行;
  • 准确性取决于测试用例的设计;
  • 自动化测试的复用性较低。

黑盒测试方法的评价标准

在最短时间内,以最少的人力,有利于发现最多的,以及最严重的缺陷。

  • 精确的:测试针对性强
  • 完备的:测试覆盖全面,无漏洞
  • 无冗余:测试用例所关联的风险有所区别
  • 简单的:测试方法简单易行
  • 易于调试:缺陷定位难度小

对于测试用例设计的要求:

  • 测试用例的覆盖度:高
  • 测试用例的数量:少
  • 测试用例的冗余度:低
  • 测试用例的缺陷定位能力:高
  • 测试方法的复杂度:低

等价类的意义

  • 完备性:整个输入域提供一种形式的完备性
  • 无冗余:若互不相交则可保证一种形式的无冗余性

等价类划分方法

  1. 当输入是连续数值区间:一个有效等价类和两个无效等价类

image-20231230182016071

  1. 当输入是一组特定取值:一个有效等价类和一个无效等价类

image-20231230182111661

  1. 当输入是二值属性,例如布尔值,有两种处理方式:

    ①一个有效等价类(True),一个无效等价类(False)

    ②将True和False都视为有效等价类,即两个有效等价类,和一个无效等价类(非布尔值)

  2. 当输入是一组值(n个值):n个有效等价类,一个无效等价类

image-20231230182440126

  1. 当输入被规定了若干条必须遵守的规则(例如用户名):一个有效等价类和若干个无效等价类(从不同角度违反规则)

    拆分无效等价类的时候,一次只能违反一条规则,即要遵守单缺陷原则

等价类测试用例的覆盖要求

  • 弱覆盖:测试用例应覆盖所有的有效等价类
  • 强覆盖:测试用例应覆盖所有的有效等价类的所有组合

等价类测试的流程

  1. 确定有几个输入条件
  2. 划分每个输入条件的等价类(有效等价类、无效等价类)
  3. 选择合适的覆盖标准(强覆盖、弱覆盖)
  4. 设计测试用例

场景法设计测试用例的步骤

  1. 理解软件的业务需求,确定业务流程
  2. 绘制流程图,从流程图中定义基本流和备选流,然后定义测试场景
  3. 将测试场景的多种输入条件与场景对应起来,形成场景条件表
  4. 根据场景条件表设计测试用例