#review
软测设计应用
字数
2460 字
阅读时间
10 分钟
为了方便理解整个体系,这里梳理一个简单的脉络图:
- 黑盒测试(功能测试)
- 等价类划分:按需求把输入数据分类。
- 边界值分析:专门测试分类边界上的数据。
- 其他方法:因果图、判定表、正交试验、场景法(流程图法)等。
- 白盒测试(结构测试)
- 语句覆盖:每一行代码都执行过。
- 判定覆盖:每个分支的真假都走过。
- 路径覆盖:所有可能的独立路径都走过。
- 灰盒测试
- 关注模块间接口、数据流(如:集成测试)。
一、🌟🌟🌟等价类划分法
- 解决的问题:设计少量测试数据覆盖全量数据测试的场景问题
- 适用场景:针对
表单类页面元素测试时使用 - 表单类页面元素:
- 输入框(典型)
- 下拉列表
- 单选复选框
1. 使用步骤及说明

划分等价类同样可以使用Xmind先进行分类分析,再根据Xmind结构设计测试点
等价类的划分:需要按照每个条件划分有效和无效
2. 示例
以QQ登录功能为例,按步骤来分析等价类并设计测试点
- 要求:
- 账号:6~10位自然数且已注册(非空)
- 密码:正确/错误/空
- 只有满足所有条件,才是有效等价类
1)如何拆解出无效等价类?
- 看长度
- 看类型
- 看规则 只要有一项不满足,那就是无效等价类。一般拆解无效等价类就是假设其中一个条件不满足的情况。因为若存在多个条件不满足的情况,无法分析具体是什么原因导致登录失败。
2)设计测试点
- 这里的有效和无效指的是用于测试功能的测试点是正向还是逆向
- 正向:满足需求条件的测试点,可以成功使用功能
- 逆向:有一项条件不满足的测试点,不能使用功能,测试是否有缺陷(bug),是否有错误提示(登录失败弹窗)
- 测试点有效:满足所有条件
- 测试点无效:一个无效条件+其他有效条件的组合
- 因为这样设计有助于快速定位失败原因,可以提高测试效率

- 因为这样设计有助于快速定位失败原因,可以提高测试效率
二、🌟🌟🌟边界值分析法
1. 范围节点
- 选取正好等于、刚好大于、刚好小于边界的值作为测试数据
- 上点:边界上的点(正好等于)
- 离点:距离上点最近的点(刚好大于、刚好小于)
- 内点:范围内的点(区间范围内的数据)
- 例如:数据范围为
-99 ~ 99
2. 适用场景
适用于有边界范围的测试数据输入场景使用
3. 使用步骤
一般使用边界值分析法是在等价类划分之后,这两种方法是结合一起使用的,具体步骤如下:
- 明确需求
- 确定有效和无效等价类
- 前两步是等价类划分法的步骤
- 确定边界值范围(通常与第二步一起做)
- 提取数据设计测试点(Xmind)
- 举个例子;

3. 示例
同样以QQ登录功能为例,在等价类划分的基础上,增加边界类分析
Xmind具体示例: 
4、边界值分析法---范围优化
在示例中:-98和98既属于离点又属于内点,应该如何处理呢?
结论:7个点优化为5个点(只有离点可以优化,上点和内点都必须选)
- 上点:必选(不考虑区间开闭)
- 内点:必选(建议选择中间范围)
- 离点:
开内闭外(考虑开闭区间,开区间选择区间内部离点,闭区间选择区间外部离点)- 说明:
- 开区间:不包含,用
( )表示 - 闭区间:包含,用
[ ]表示 - 示例:-99<a<=99,使用开闭区间表示:(-99, 99]
- 开区间:不包含,用
- 说明:
三、🌟判定表法
等价类划分、边界值分析法都主要关注于
数据的输入类测试,对于规则类的验证,无法直接应用
要对规则类进行验证,就需要用到判定表法。
定义:判定表法是一种以表格形式梳理多条件组合逻辑判断的工具
作用:理清复杂逻辑,解决条件组合测试的混乱问题
组成:
- 条件(桩):列出问题中的所有条件,列出条件的次序无关紧要。
- 动作(桩):列出问题中可能采取的操作(可以有多个),操作的排列顺序没有约束。
- 条件(项):列出条件对应的取值,所有可能情况下的真值值。
- 动作(项):列出条件项的、各种取值情况下应该采取的动作结果。
规则:
- 判定表内贯穿条件项和动作项的
一列就是一条规则 - 假设有 n 个条件,每个条件的取值有两个(0, 1),全组合有
种规则
- 判定表内贯穿条件项和动作项的
说明一下判定表长什么样:
灰色框里的是条件桩,绿色框里的是动作桩,黄色框内的是条件项,蓝色框内的是动作项举个例子说明一下:若用户欠费或者关机,则不允许接打电话
主叫:打电话 被叫:接电话
1. 适用场景
- 应用场景:针对规则的验证
- 规则类验证:有多个输入条件,多个输出结果,输入条件之间有
组合关系,输入条件和输出结果之间有依赖(制约/因果)关系 - 适用条件不宜过多(不超过 4 个,如果超过建议使用因果图法)
- 规则类验证:有多个输入条件,多个输出结果,输入条件之间有
2. 使用步骤
- 明确需求
- 画出判定表
- 列出条件(条件桩)和结果(动作桩)
- 填写条件真假值(条件项),并进行全组合
- 根据每组取值确定组合结果(动作项)
- 根据规则编写测试点
3. 示例
需求:
- 指定时间段(符合开始时间和结束时间)
- 消费金额满1000元 如果上述条件同时满足,则可以享受9折优惠,否则不可以享受


- 注意:动作项是根据条件项的组合判断得来的,不是乱填的

四、🌟🌟🌟流程图法(场景法)
1. 基本介绍
- 说明:用图形(流程图)表示业务流程,测试每条路径
- 业务:指软件为满足用户特定的业务需求而设计并实现的一系列功能(组合)
- 示例:电商APP下单业务(登录 -> 搜索 -> 添加购物车 -> 下单 -> 支付)
- 流程图:使用一些特定的图像和箭头线表示程序的业务走向
- 常用符号:

- 常用符号:
- 流程图对测试人员的作用:
- 能够看懂流程图,
设计业务用例 - 当需求文档信息不全时,能够根据需求,
梳理出流程
- 能够看懂流程图,
- 流程图谁提供
- 产品人员提供
- 测试自己画
2. 适用场景
- 根据用户的各种
业务场景(功能组合),验证产品是否满足需求的过程 - 一般开发提测之后,先进行业务流程测试时使用(确保正常功能
具备可测性) - 作用:确保复杂流程不漏测,解决业务覆盖问题
- 什么时候测业务流程?一般是
开发提测后(冒烟测试后) - 适合业务流程复杂、用户交互多、需要验证完整业务链路的软件系统测试
3. 使用步骤
- 根据流程图找出业务路径(从开始到结束节点数路径,一条路径对应一个测试点)
- 有流程图:产品需求提供
- 无流程图:根据业务步骤,自己画流程图
- 根据找出的路径设计测试点
4. 示例


5. 流程图画法
- 画图工具:
- 在线工具:ProcessOn
- 其他工具:Microsoft Visio
1)ProcessOn示例
登录流程:输入用户名:admin,密码:123456,判断是否正确,若正确则输出:登陆成功;否则输出:登陆失败
画流程图步骤:
- 新建流程图
- 绘制流程图(只要把最核心的步骤流程绘制出来就行):
