黑盒测试方法

测试用例的定义

  • 定义:是为了特定的目的而设计的一组有测试输入、执行条件、预期结果的案例(测试文档)
    • 特定的目的:用例名称
    • 测试输入:测试数据
    • 执行条件(软件测试的核心):测试步骤
    • 预期结果:和实际结果进行对比检验功能是否有问题

测试用例构成要素

例子:QQ邮箱的登陆功能

| 要素 | 解释 |
| ------ | ------ | ------ |
| 用例编号 | 用例的唯一标识 |
| 用例标题 | 用例的简要描述
(什么情况下,做什么事,有什么结果) | 填写 |
| 测试项目 | 用例所属项目范畴 |
| 用例级别 | 用例重要程度的影响 |
| 预置条件 | 用例执行的前提 |
| 测试输入 | 测试用例数据输入 |
| 执行步骤 | 执行用例的步骤 |
| 预期结果 | 应该得到的结果 |

黑盒测试

黑盒测试(=功能测试),它是以用户的角度,检测每个功能是否都能正常使用。把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下进行测试,只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。

黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

黑盒测试方法

  • 等价类 : 功能有输入,输入无组合
  • 边界值 : 功能有输入,输入范围有边界
  • 场景法 : 多个功能之间的组合逻辑测试
  • 状态迁移图 : 多个功能之间的组合逻辑测试
  • 判定表 : 有多个输入与输出,输入与输入之间、输入与输出之间,有依赖关系
  • 因果图 : 有多个输入与输出,输入与输入之间、输入与输出之间,有依赖关系
  • 正交实验 : 参数配置类功能,参数相互组合
  • 错误推测 : 通过错误推测追加测试用例

等价类

  • 什么是等价类

    • 在所有测试的数据中,具有某种共同特征的数据子集
  • 等价类测试用例的步骤

    • 分析需求,确定输入数据的类型
    • 使用规则划分有效和无效等价类
    • 设计用例,覆盖有效等价类(一条用例尽可能多的覆盖有效等价类)
    • 设计用例,覆盖无效等价类(一条用例只能覆盖一个无效等价类)
  • 电话号码例子

  • 缺点

    • 对于输入域及输入域存在关联时无法覆盖

边界值

  • 什么是边界值分析法
    • 大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部
    • 边界值:选取正好等于、刚刚好大于或刚刚好小于边界值作为测试数据

PS:
上点:边界上的点
离点:离边界最近的点
内点:有效范围内任意的点

  • 边界值测试用例的步骤

    • 分析需求,确定输入数据类型
    • 使用规则划分有效和无效等价类
    • 确定上点、离点、内点
    • 设计用例,覆盖有效等价类(一条用例尽可能多的覆盖有效等价类)
    • 设计用例,覆盖无效等价类(一条用例只能覆盖一个无效等价类)
  • 例子

判定表

  • 什么是判定表
条件桩 条件项 规则
动作桩 动作项
  • 判定表测试用例的步骤

    • 分析需求,定义条件桩和动作桩
    • 设计优化判定表(全组合条件,得到条件项)
    • 填写动作项
    • 简化判定表
    • 抽取用例(每个规则一个用例)
  • 例子1
    移动通信,若用户欠费或停机,则不允许主被叫

用例1 用例2 用例3 用例4
用户是否欠费
用户是否关机
是否允许主被叫
  • 例子2

    PS:其中1、2不存在,得到最后6条用例

  • 缺点

    • 条件数越多,规则数量越多(是2的n次方)(搭配因果图对条件进行约简)

因果图

  • 什么是因果图

分析因和果,先考虑条件与条件之间的关系,条件与结果之间的关系,再转换为判定表

  • 因果图测试用例的步骤

    • 分析需求,获取条件和动作
    • 分析条件与条件、条件与动作之间的关系
    • 通过关系画出因果图
    • 将因果图转为判定表
  • 例子

场景法

  • 什么是场景法(流程分析)
    软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流

    • 基本流
    • 备选流
    • 异常流
  • 步骤

    • 分析需求,基本流和备选流
    • 根据基本流和备选流生成场景
    • 根据场景生成用例

要求从开始结束才算一个场景

  • 例子

状态迁移图

  • 什么是状态迁移图

首先找出所有状态,然后分析各个状态之间的转换条件和转换路径。然后从其状态前移路径覆盖的角度来设计测试用例(多用于协议测试)

  • 步骤

    • 明确状态节点
    • 绘制状态迁移图
    • 绘制状态迁移树
    • 抽取路径设计用例(找到状态迁移树的路径)
  • 例子

正交实验

  • 什么是正交试验法

由数理统计学科中正交试验方法进化出的一种测试多条件多输入的用例设计方法,从大量的(实验)数据(测试例)中挑选适量的,有代表性的点(例),从而合理的安排实验(测试)的一种科学实验设计方法。

  • 条件:因子(有多少个条件)

  • 取值:水平(条件有多少个取值)

  • 步骤

    • 分析需求,获取因子和水平
    • 根据因子和水平数选择正交表
    • 替换因子水平,获取试验次数
    • 细化输出测试用例
  • 例子

错误推测


参考文献

软件测试进阶多角度带你编写更规范的黑盒测试用例

posted @ 2020-08-18 00:53  _Sleeping  阅读(687)  评论(0)    收藏  举报