目录
一、能对穷举场景设计测试点
能对穷举场景设计测试点——>等价类划分法
1.1 等价类划分法
1.1.1. 说明 | 分类 | 步骤
说明:在所有测试数据中,具有某种共同特征的数据集合进行划分。
分类:有效等价类:满足需求的数据集合
无效等价类:不满足需求的数据集合
步骤:1.明确需求,2.确定有效和无效等价类,3.提取数据编写测试用例
重点:有效等价和单个无效等价各取一个即可。
步骤:
【1】明确需求
【2】确定有效和无效等价
【3】根据有效和无效造数据编写用例
1.1.2. 解决穷举场景
重点:使用等价类划分法
自然数:自然数由0开始,一个接一个,组成一个无穷的集体
1.1.2.1 案例1
需求:验证6-10自然数的qq合法性
1.1.2.2 案例2
需求:验证某城市电话号码正确性
要求:① 区号:空或者是三位数字,② 前缀码:非“0” 且非 “1” 开头的三位数字,③ 后缀码:四位数字
重点:
【1】正向用例,一条尽可能复制多条
【2】逆向用例,每一条数据都是一条单独数据
1.1.3.总结( 适用场景)
- 针对:需要有大量数据测试输入,但是没法穷举测试的地方。
- 输入框
- 下拉框列表
- 单选复选框
- 典型最常用:页面的输入框类测试。
友情提示:完整的用例应该是等价类和边界值一起写。
二、能对限定边界规则设计测试点
能对限定边界规则设计测试点——>边界值分析法
2.1 边界值分析法
- 边界范围节点
- 应用设计步骤
- 案例
- 适用场景
2.2 解决边界限制问题
说明:使用 边界值解决边界位数限制问题
2.2.1 边界范围节点
- 选取正好等于、刚好大于、刚好小于边界的值作为测试数据
- 上点:边界上的点(正好等于)
- 离点:距离上点最近的点(刚好大于、刚好小于)
- 内点:范围内的点(区间范围内的数据)
2.2.1.2 边界值说明
提示:
【1】有关范围限制,最多7条用例(暂时未优化)
【2】边界值能解决位数限制问题,但是不能解决类型问题(要结合等价类)
2.2.2 步骤
1.明确需求
2.确定有效等价和无效等价
3.确定边界范围
4.提取数据编写用例
2.2.3案例
2.2.3.1 案例1
需求:通过边界值法验证标题长度的合法性
要求:标题长度大于0,小于等于30个字符
2.2.3.2 案例2
需求:通过边界值法验证QQ号码的合法性
要求:6-10位自然数
2.2.3.3 案例边界值优化
- 结论:7个优化5个点
- 上点:必选(不考虑区间开闭)
- 内点:必选(建议选择中间范围)
- 离点:开内闭外(考虑开闭区间,开区间选择内部离点,闭区间选择外部离点)
10 <a <= 20 ——>使用开闭区间表达(10,20)
开区间:不包含
闭区间:包含
开区间指的是区间边界的两个值不包括在内;(a,b)
闭区间值得是区间边界得两个值包含在内; 【a,b】
半开半闭区间:开区间一边的边界值不包括在内,而闭区间一边的边界值包括在内。【a,b),(a,b】。
重点:开内闭外(开区间选包含的点,闭区间选不包含的点)
开区间:不包含边界上的点(没有等号),如:a<10
闭区间:包含边界上的点(有等号),如a<=10
以下是优化案例2过后的,7位和9位自然数就不要了。
2.2.4 使用场景
- 在等价类的基础上针对有边界范围的测试数据输入的地方(重点关注边界)
- 常见词语描述:大小、尺寸、重量、最大、最小、至多、至少等修饰词语
- 典型代表:有边界范围的输入框类测试
2.3 总结
强调:单个输入框,常用的方式:边界+等价类
面试题:编写的最常用的用例设计方法有哪些?
①等价类,边界值
三、能对多条件依赖关系进行设计测试点
能对多条件依赖关系进行设计测试点——>判定表法
3.1 判定表法
- 判定表法的引入
- 判定表定义及组成部分
- 判定表法设计用例步骤
- 案例
- 使用场景
3.2 解决多条件依赖关系测试
重点:使用判定表
3.2.1 判定表法的引用
- 案例:验证 “若用户欠费或者关机,则不允许主被叫” 功能的测试
- 说明:
- 等价类边界值分析法主要关注单个输入类条件的测试
- 并未考虑输入条件之间的各种组合,输入条件与输出结果之间有相互制约关系的测试
3.2.2 判定表定义及组成部分
- 定义核心:是一种以表格新式表达多条件逻辑判断的工具
- 组成:
- 条件桩:列出问题中的所有条件,列出条件的次序无关紧要。
- 动作桩:列出问题中可能采取的操作,操作的排列展顺序没有约束。
- 条件项:列出条件对应的取值,所有可能情况下的真假值。
- 动作项:列出条件项的,各种取值情况下应该采取的动作结果。
- 规则:
- 判定表中贯穿条件项和动作项的一列就是一条规则
- 假设有n个条件,每个条件的取值基本有两个(0,1),金组合有2的n(n是条件的个数)次方种规则
3.2.3 判定表法设计用例步骤
1、明确需求
2、画出判定表
1)、列出条件桩和动作桩
2)、填写条件项,对条件进行金组合
3)、根据条件项的组合确定动作项
4)、简化、合并相似规则(有相同的动作)
3、根据规则编写测试用例
3.2.4 案例
3.2.4.1 订购单检查
规则:
1)、如果金额大于500元,又未过期,则发出批准单和提货单;
2)、如果金额大于500元,但过期了,则不发出批准单与提货单;
3)、如果金额小于等于500元,则不论是否过期都发出批准单和提货单;
4)、在过期的情况下不论金额大小还需要发出通知单。
3.2.4.2 文件修改规则
规则:
1)、输入的第一列字符必须是A或B
2)、第二列字符必须是一个数字
3)、如果第一列字符不正确,则给出信息L
4)、如果第二列字符不正确,则给出信息M
5)、如果两列字符输入正确,则修改文件成功
3.2.5 使用场景
- 有多个输入条件,多个输出结果,输入条件之间有组合关系,输入条件和输出结果之间有依赖(制约)关系
- 判定表一般适用于条件组合数量较少的情况(比如4个条件以下)
3.3 总结
提示:
1、多条件之间有依赖关系,使用判定表进行测试覆盖。
2、判定表一般适合4个以内操作依赖关系
3、如果条件超过4个,就不适合覆盖所有条件,应采用(正交法)来解决
四、能对于项目业务进行设计测试点
能对于项目业务进行设计测试点——>场景法
测项目,主要先考虑业务能走通,要测业务主要使用场景法
4.1 场景法
- 流程图
- 介绍
- 使用场景
- 案例
4.2 业务测试覆盖
重点:
1、覆盖业务测试需要使用流程图法
2、先测试业务,在测试单功能,单模块,单页面
4.2.1 流程图
提示:业务用例是根据流程图来梳理的,需要先了解流程图
作用:梳理业务用例
-
使用标准图形和箭头来表达程序或业务的走向
(注:正常情况下由产品人员或者开发人员来画,测试人员也可以画,测试人员发现流程少了或者不对,可以补充)
- 流程图对测试人员有什么作用?
1、能够看懂流程图,设计业务用例
2、当需求文档信息不全是,能够根据需求,梳理出流程
- 网页版线上工具:ProcessOn思维导图流程图-在线画思维导图流程图_在线作图实时协作ProcessOn是一款专业在线作图工具和知识分享社区,提供AI生成思维导图流程图。支持思维导图、流程图、组织结构图、网络拓扑图、鱼骨图、UML图等多种图形,同时可实现人与人之间的实时协作和共享,提升团队工作效率。https://www.processon.com/
- Windows工具:visio
4.2.1.1 流程图练习
1、用户名为admin,密码为123456,输出:登录成功
2、登录、搜索商品、添加购物车、去结算、支付、如果支付成功,则提示下单成功,否则提示支付失败
五、场景法
5.1 介绍
1、说明:场景法也可以叫流程图法,是用流程图描述用户的使用场景,然后通过覆盖流程路径来设计测试用例。
2、意义:
用户使用角度:用户平时使用的不是单个功能,而是多个功能组合起来进行使用
测试人员角度:平时测试的都是单个功能点进行测试,容易忽略多个功能的组合测试
5.2 适用场景
- 根据实际的应用场景,来测试业务用例,可以使用场景法
5.2.1 案例ATM机取款流程
1、开始->验证银行卡不成功->结束
2、开始->验证银行卡成功->结束
3、开始->验证银行卡成功->密码验证成功->账户余额不足-结束
4、开始->验证银行卡成功->密码验证成功->账户余额验证成功->取款金额不正确-结束
5、开始->验证银行卡成功->密码验证成功->账户余额验证成功->取款金额正确->ATM机余额不足->结束
6、开始->验证银行卡成功->密码验证成功->账户余额验证成功->取款金额正确->ATM机余额充足->取款成功->结束
六、 错误推荐法
6.1 介绍
1、定义:通过经验推测系统可能出现的问题
2、思路:根据经验列举出可能出现问题的清单,根据清单分析问题可能的原因,推测发现缺陷
3、场景:①时间紧任务量大时,根据之前项目类似经验找出易出错的模块重点测试
②实践宽裕通过该方法列出之前出现问题较多的模块再次测试
应用场景:当项目用例都执行完毕,并且bug修复完成,离上线还有几个小时,在这段时间中可以使用错误推荐法,复测注意业务或者未测到的功能,这个就是错误推荐法。