目标
- 会使用等价类划分法设计测试用例
- 会使用边界值分析法设计测试用例
- 能够对多条件场景画出判定表
- 能够使用场景法对项目业务进行设计用例
一.等价类划分法⭐️
目的:解决测试多数据无法穷举应用
1.1方法介绍
-
等价类:把具有相同特征(需求规则描述)的数据集合叫等价类
-
划分:
-
有效等价类:满足需求的数据集
-
无效等价类:不满足需求的数据集
-
-
使用步骤⭐️
- 明确需求:搞清楚需求中要求及测试目的
- (要求)条件:长度、类型、规则
- 划分等价类:根据需求划分(有效、无效)
- 有效:长度、类型、规则都满足需求
- 无效:只要有一个条件不满足
- 提取数据编写用例:根据不同的等价类分别提取数据编写用例
- 一条测试用例尽可能的覆盖多个有效等价类(数据)
- 一条测试用例只能覆盖一个无效等价类
- 明确需求:搞清楚需求中要求及测试目的
1.2 案例实现
- qq账号合法性验证案例
- 电话号码验证案例
1.3适用场景⭐️
- 针对大批量数据,无法进行穷举测试的场景
- 常见代表:输入框、下拉框、单选复选框
友情提示:
完整的用例应该是等价类和边界值一起写。
二、边界值分析法⭐️
目的:有边界范围的数据验证
2.1方法介绍
-
确定范围
-
上点:刚好等于边界上的点(绿色)
-
离点:离边界最近的点(黄色,不止一个)
-
内点:区间范围内的所有点(蓝色)
例如区间范围为:-99<x<99
-
- 方法使用步骤⭐️
- 明确需求:搞清楚需求中要求及测试目的
- 划分等价类:根据需求划分(有效、无效)
- 确定边界值:根据需求确定上点、离点、内点
- 提取数据编写用例:根据不同的等价类(包含补充的三种类型点)分别提取数据编写用例
2.2 案例实现
-
标题长度的合法性案例
-
qq合法性案例
2.3边界离点的优化
也叫7条数据变5条数据
-
上点:必选(不考虑开闭区间,选择一组数据即可)
-
内点:必选(不考虑开闭区间,一般选择中间位置的数据)
-
离点:开内闭外(考虑开闭区间,开区间选择内部离点,闭区间选择外部离点)
2.4适用场景⭐️
- 针对边界范围的批量测试数据输入的场景(重点在于边界)
- 典型代表:常见有边界范围的输入框测试
三、判定表
目的:针对条件比较多,条件之间有组合关系,条件和结果之间有因果关系的场景
3.1判定表介绍
-
定义:是一种以表格形式表达多条件逻辑判断的工具
-
组成:
-
条件桩:列出问题中的所有条件,列出条件的次序无关紧要—>灰色区域
-
动作桩:列出问题中可能采取的操作,操作的排列顺序没有约束—>绿色区域
-
条件项:列出条件对应的取值,所有可能情况下的真假值—>黄色区域
-
动作项:列出条件项的、各种取值情况下应该采取的动作结果—>蓝色区域
图例
-
-
规则
- 条件项和动作项构成的每一列,就是一条测试用例
- 根据条件个数计算条件的取值数量(2^n),其中n表示条件个数
-
使用步骤
- 明确需求
- 画出判定表
- 根据需求列出条件桩和动作桩
- 根据需求对于条件取值进行全组合
- 根据条件项得到动作项
- 根据需求进行简化或合并
- 根据规则编写用例
3.2案例实现
- 订购单检查案例
- 文件修改案例
3.3适用场景
- 有多个条件输入,多个输出结果,输入条件之间有组合关系,输入条件和输出结果有依赖(制约)关系
- 判适用条件个数不宜过多(不超过4个,如果超过建议使用因果图法)
四、因果图法
4.1方法介绍
根据输入条件的组合、约束关系与输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法。
- 条件与结果之间的关系
恒等:若原因出现,则结果出现;若原因不出现,则结果也不出现(若c1=1,则e1=1;若c1=0,则e1=0;)。
非 ~ :若原因出现,则结果不出现;若原因不出现,则结果出现(若c1=1,则e1=0;若c1=0,则e1=1;)。
或 ∨:若几个原因中出现一个,则结果出现;若几个原因都不出现,则结果不现。
与 ∧:若几个原因都出现,则结果出现;若其中的一个原因不出现,则结果不出现;(若a=true且b=true,则c=true;若a=true或b=false,则c=false
- 条件之间的依赖关系
E约束(异):表示a、b、c 三个原因不会同时成立,最多一个能成立。
I约束(或):a、b、c 三个原因中至少有一个必须成立。
O约束(唯一):a、b、c 当中必须有一个,且仅有一个成立。
R约束(要求):当a出现时,b必须也出现,不可能a出现b不出现。
M约束(屏蔽):表示当a是1时,b必须是0。而当a为0时,b的值不定。
-
方法使用步骤
-
明确需求:搞清楚需求中要求及测试目的
-
分析条件与条件,条件与动作之间的关系
-
通过关系画出因果图
-
将因果图转化为判定表
-
4.2案例实现
判定表和因果图区别:
1.判定表:
分析条件桩与动作桩后,全组合获取条件项
2.因果图:
分析因和果,先考虑条件与条件之间的关系,条件与结果之间的关系,再转换为判定表。
五、场景法
目的:从用户角度/测试角度,除了验证单功能模块之外,还要测试模块组合
5.1场景法介绍
- 按照不同业务流程模拟用户不同使用过程中(画图),也叫流程图
- 使用步骤
- 明确要求
- 画出流程图
图:产品提供或测试自己画
-
- 根据路径编写用例
5.2流程图的构成
-
常见画图工具
1.线上工具:https://www.processon.com
2.离线工具:visio
3.其他工具:Excel
5.3案例(ATM机)
5.4适用场景
- 单功能测试完毕后,进行功能组合测试时使用
六、错误推荐法
6.1介绍
时间宽裕:可以再原有模块上细化编写用例
时间紧迫:可以不用写用例,列出测试点【整理测试思路】
- 方法介绍:根据经验推测系统可能出现的问题
- 适用思想:有经验的人员根据出现问题的模块再次列举问题清单
- 适用场景:
- 时间宽裕:常规测试完毕后,再次验证容易出问题的模块
- 时间紧迫:根据问题清单,进行重点功能的测试
面试问题:你拿到一个项目先测什么?
先去与产品确定哪些是重要业务,先验证主业务。再去验证主功能的正向和逆向,按照时间节点去走。
七、状态迁移图法
7.1方法介绍
首先要找出所有的状态,然后再分析各个状态之间的转换条件和转换路径。然后从其状态迁移路径覆盖的角度来设计测试用例。(多用于协议测试)
7.2使用步骤:
1.分析需求,找到状态节点
2.画出状态迁移图
3.画出状态迁移树
4.转化为用例(找到状态迁移树的路径)
7.3案例
八.正交实验法
8.1定义
所谓的正交实验设计法(Orthogonal Experimenta Design Method),就是能够使用最小的测试过程集合获得最大的测试覆盖率,从全面试验中挑选出有代表性的点进行测试。
- 正交表Ln(m^k):
特点:均匀分散、整齐可比、高效、快速、经济
n:正交表的行数,也就是需要测试的组合的次数;
k:正交表的列数,也就是因子的个数;
m:是每个因子包含的取值个数;
条件:因子 取值:水平
8.2正交实验设计方法步骤
- 分析需求获取因子及水平
- 根据因子及水平数选择正交表
- 替换因子水平,获取实验次数
- 细化输出测试用例
8.3案例实现
常用正交设计表参考:https://www.cnblogs.com/dulalaqiuzhi/archive/2009/10/14/1583354.html
8.4混合正交表
在实际工作中,很多情况都是因子(控件个数)和水平(每个控件的可选个数)不同,我们在现成的正交表中找不到对应的表格,此时我们就需要使用混合正交表工具(allpairs)(不需要安装)来生成混合正交表。
- 使用步骤:
1.制作取值表(不需要编号,列出数据即可)
2.复制表格中的数据放在一个新建的txt文本文档中,保存到pairs文件夹中(例如:test.txt)
3、 Win+r再输入cmd进入控制台界面
4、 使用控制台代码进入pairs文件夹中(例如:d: 回车 cd 复制文件夹路径 回车)
5、 再输入allpairs.exe test.txt>result.txt (test.txt是我们刚新建的文件,result.txt是我们最终生成出来的正交表文件)
6、回到pairs的文件夹,可以看到已经生成了result.txt正交设计表了。
ALLpairs下载路径:https://www.softpedia.com/dyn-search.php?search_term=allpairs
8.5适用场景
适用于配置类软件,组合比较多的情况