软件测试之测试用例设计方法总结

一、用例设计方法

1.1 基本概念

  1. 测试用例: 在一次实际测试中使用的数据和步骤的组合
  2. 测试的经济学原理:
    尽可能使用少的用例去覆盖尽可能多的情况。穷举法就不合理。
  3. 测试覆盖度: 按照可能的分类去覆盖
  • 测试悖论:测不尽悖论。不可能找出所有的缺陷,我们所有的工作都是在无限的接近0缺陷。
  • y=x+c:c是一个已知的常量(测试发现的缺陷数),x是没有发现的缺陷数,y是提测版本所固有的缺陷数。

二、等价类划分法

2.1 概念

  1. 等价类:按照输入数据的效果相近或相同来划分类型,然后从这些分类中选择有代表性的数据来作为测试数据的方法。
  2. 有效等价类:满足要求的等价类
  3. 无效等价类:不满足要求的等价类

2.2 作用

  • 使用等价类的方法在保持较高的覆盖率的同时,降低测试用例的数量。

2.3 适用范围

  • 输入域:提供输入功能的组件,只针对单个的输入域

2.4 使用步骤

1. 确认等价类:

  • 输入项有哪些(输入长度、类型等)
  • 再从输入项找出条件限制,针对条件限制进行分类
  • 在这里插入图片描述
    2. 画出等价类划分表
  • 把确认好的有效类和无效类都填入到表中
    3. 根据等价类划分表编写用例
  • 使用尽可能少的用例去覆盖所有的有效类
  • 对于无效类,只能一个用例覆盖一个
  • 在这里插入图片描述

2.5 优缺点

优点:

  1. 减少了大量的用例
  2. 保证了比较高的覆盖度
  3. 设计的步骤清楚简单

缺点:

  1. 只关注分类,忽略了逻辑和特殊情况
  2. 弥补方式:边界值分析法

2.6 功能测试的最终对象是什么?

  • 代码实现逻辑

三、边界值分析法

3.1 概念

  1. 边界值:输入数据是一个有序集合或者是一个范围的时候,处于集合或者范围的边界上的值。
  2. 上点:边界上的点。无论开闭区间,上点都是边界点
  • (4,8)上点是4和8
  • [3,9] 上点是3和9
  1. 离点:将要离开规定区间的点。闭区间的离点在外侧,开区间的离点在内侧。
  • (2,5)离点是3,4
  • [3,8] 离点是2,9
    在这里插入图片描述
  1. 内点:区间内除上点和离点之外的任意一点。
  2. 测试用例取值时,上点和离点都要取。

3.2 适用范围

  1. 输入域条件中有有序集合或范围的时候。
  2. 2、计算机内部的一些数据类型或者配置条件(带宽、容量等都有一个极限值)

3.3 使用步骤

  1. 划分等价类
  2. 设计等价类划分表
  3. 根据适用范围的要求填写边界值

3.4 优缺点

优点

  • 聚焦于输入的边界情况,能够非常有效的找到边界上的问题。
  • 用较少的用例找到大量的BUG。

缺点

  • 只关注边界的情况,不关注其他情况。
  • 不能单独使用,一般配合“等价类划分方法”一起使用,作为等价类的补充。

四、流程分析法

4.1 概念

  1. 流程:用户为了完成或者达成一定的业务目的,需要进行的一系列操作过程。
  2. 基本流:顺利完成业务的流程。
  3. 备选流:由于使用过程出现了一些其他的选择,使得用户需要处理完这些选择后重新回到基本流的过程。
  4. 异常流:使用过程中由于系统故障,导致需要处理这些故障的流程。

4.2 适用范围

  • 涉及到与业务逻辑相关

4.3 使用步骤

  1. 根据需求,画出流程图
    在这里插入图片描述
    (在画流程图的时候,需要注意:判定条件为多个与的话,则放在一个菱形里面,如果是多个条件或的话,要一个条件一个菱形图,避免因为放在一起而漏掉判定,从而导致测试用例覆盖不全)
  2. 根据流程图,编写测试用例
    一个流程分支一条用例,流程分支的数量为菱形的个数+1

4.4 优缺点

优点

  • 快速覆盖用户使用场景,确认用户操作的流程是否通畅,冒烟测试常用

缺点

  • 只关注场景是否通畅,忽略了大量的异常输入或无效类,因此会导致缺陷遗漏。

五、错误推测法

5.1 概念

  • 基于经验或直觉推荐程序中出现的各种错误,从而针对性的去设计测试用例。
  • 依赖测试工程师对产品业务的熟悉程度,对历史问题的熟悉程度、项目经验等。
  • 有哪些经验可以借鉴?
    • 边界值
    • 极限值
    • 特殊取值:单引号、尖括号<>
    • 年月日取值
    • 工作当中曾经出现过的问题

5.2 优缺点

优点

  1. 发挥人的直觉和经验
  2. 集思广益
  3. 方便使用、快速切入

缺点

  1. 无法评估用例的覆盖度
  2. 容易遗漏未知区域
  3. 带有主观性,无法复制
  4. 只能是一种用例设计的补充方法,无法单独使用

六、状态迁移法

6.1 概念

  1. 根据事物在不同状态下进行转换,从而使用状态转换事件来设计测试用例的方法。
  2. 状态机:在某些事件的推动下,事物的状态会发生变化,但是总的状态的数量是有限的。(有限状态机)

6.2 两个要素

  1. 事件:导致事物状态发生变化的行为。
  2. 状态:事物在某一时刻所呈现出来的情况。

6.3 适用范围

  • 针对被测对象的状态比较多,且转换情况比较复杂的情况。
  • 示例:
    在这里插入图片描述

6.4 使用步骤

  1. 确定被测对象的状态,以及触发状态发生变化的事件,画出状态迁移表:
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/2439f87371a24f7da7a5edb4fc308426.pn
  2. 根据状态迁移表,绘制状态迁移图
  • 圆圈代表状态
  • 有向箭头指示状态迁移的方向
  • 剪头上标记事件
    在这里插入图片描述
  1. 根据状态迁移图,画出状态迁移树
  • 在状态迁移图中任选一个状态,观察指出箭头,按照箭头的方向,转化为树图。
    **加粗样式**
  1. 编写测试用例
  • 根据状态迁移树,编写测试用例,一个分支一条用例。
    在这里插入图片描述

6.5 优缺点

优点

  • 针对被测对象状态比较多,且转换情况比较复杂的情况,能够保证测试用例设计的完整性。

缺点

  • 不关注输入、业务逻辑

七、正交实验法

7.1 概念

  1. 用来研究多因素多水平的一种实验方法。
  2. 使用数学工具:正交表

7.2 适用范围

  1. 配置测试:通过调整不同的配置单元以及配置项,使得软件系统获得最有的服务效果。
  2. 兼容测试
  3. 功能测试:有多个输入框,每个输入框又分别有不同个数的值。

适用特点

  1. 均匀分散
  2. 整齐可比

使用步骤

在这里插入图片描述

  • 在使用正交表设计用例之后,需要根据自己的经验去检查补充遗失的用例。因为正交实验法是两两匹配,对于三个的水平匹配会主动遗失掉,在审查用例的时候,从三个组合入手。

八、常用测试用例设计方法总结

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Lucifer__hell/article/details/131534178
今日推荐