今天目标
能对穷举场景设计测试点
能对限定边界规则设计测试点
能对多条件依赖关系进行设计测试点
能对于项目业务进行设计测试点
一、解决穷举场景
重点:使用等价类划分法
1.1 等价类划分法
重点:有效等价和单个无效等价各取1个即可。
步骤:
1、明确需求
2、确定有效和无效等价
3、根据有效和无效造数据编写用例
1.2 案例(qq合法验证)
需求:验证6~10自然数的qq合法
自然数:自然数由0开始,一个接一个,组成一个无穷的集体
1.3 案例(城市电话验证)
需求: 验证某城市电话号码正确性
要求:
1.区号:空或者是三位数字
2.前缀码:非“0”且非“1”开头的三位数字
3.后缀码四位数字
重点:
1、正向用例:一条尽可能覆盖多条
2、逆向用例:每一条数据,都是一条单独用例。
1.4 总结(应用场景)
针对:需要有大量数据测试输入,但是没法穷举测试的地方。
输入框
下拉列表
单选复选框
典型代表:页面的输入框类测试。
**友情提示:**完整的用例应该是等价类和边界值一块写。
二、解决边界限制问题
说明:使用边界值解决边界位数限制问题。2.1 边界值说明
提示:
1、有关范围限制,最多7条用例(暂时未优化)
2、边界值能解决位数限制问题,但是不能解决类型问题(要结合等价类)
2.2 步骤
1、明确需求
2、确定有效和无效等价
3、确定边界范围
4、提取数据编写用例
2.3 案例1
2.4 案例2
2.5 优化(7点优化5点)
重点:开内闭外(开区间选包含的点,闭区选不包含的点)
开区间:不包含边界上的点(没有等号)。如:a<10
闭区间:包含边界上的点(有等号)。 如:a<=10
优化策略:
- 结论:7个优化为5个点
- 上点:必选(不考虑区间开闭)
- 内点:必选(建议选择中间范围
- 离点:开内闭外(考虑开闭区间,开区间选择内部离点,闭区间选择外部离点)
- 10<a<=20 -->使用开闭区间表达: (10,20]
- 开区间: 不包含
- 闭区间: 包含
2.6 总结
强调:单个输入框,常用的方式 边界 + 等价类
面试题:最常用的用例设计方法有哪些?–等价类、边界值
在等价类的基础上针对有边界范围的测试数据输入的地方(重点关注边界)
常见词语描述:大小、尺寸、重量、最大、最小、至多、至少等修饰词语
典型代表:有边界范围的输入框类测试
三、解决多条件有依赖关系测试
重点:使用判定表
3.1 介绍
- 定义:是一种以表格形式表达多条件逻辑判断的工具
- 组成:
- 条件桩:列出问题中的所有条件,列出条件的次序无关紧要
- 动作桩:列出问题中可能采取的操作,操作的排列顺序没有约束
- 条件项:列出条件对应的取值,所有可能情况下的真假值
- 动作项:列出条件项的、各种取值情况下应该采取的动作结果
- 规则:
- 判定表中贯穿条件项和动作项的一列就是一条规则
- 假设有n个条件,每个条件的取值有两个(0,1),全组合有2的n次方种规则
3.2 步骤
1、明确需求
2、画出判定表
1)、列出条件桩和动作桩
2)、填写条件项,对条件进行全组合
3)、根据条件项的组合确定动作项
4)、简化、合并相似规则(有相同的动作)
3、根据规则编写测试用例
3.3 案例(订单)
- 需求
规则:
1)、如果金额大于500元,又未过期,则发出批准单和提货单;
2)、如果金额大于500元,但过期了,则不发批准单与提货单;
3)、如果金额小于等于500元,则不论是否过期都发出批准单和提货单
4)、在过期的情况下不论金额大小还需要发出通知单
-
判定表
-
用例
3.4 练习(文件修改)
- 需求
1)、输入的第一列字符必须是A或B
2)、第二列字符必须是一个数字
3)、如果第一列字符不正确,则给出信息L4)、如果第二列字符不正确,则给出信息M
5)、如果两列字符输入正确,则修改文件成功
-
判定表
-
用例
3.5 判定表总结
使用场景
- 有多个输入条件,多个输出结果,输入条件之间有组合关系,输入条件和输出结果之间有依赖(制约)关系
- 判定表一般适用于条件组合数量较少的情况(比如4个条件以下)
提示:
1、多条件之间有依赖关系,使用判定表来进行测试覆盖。
2、判定表一般适合4个以内条件依赖关系
3、如果条件超过4个,就不适合覆盖所有条件,应采用(正交法)来解决。
四、业务测试覆盖
重点:
1、覆盖业务测试,需要使用流程图法
2、先测试业务,在测试单功能、单模块、单页面
4.1 流程图
提示:业务用例是根据流程图来梳理的,需要先了解流程图
作用:梳理业务用例
练习流程图工具:
- 线上工具:
https://processon.com/diagraming/605880af07912927bd71c388
- 离线工具:visio
- 其他工具:Excel
4.2 案例(ATM)
-
流程图
-
用例
五、错误推荐法
应用场景:当项目用例都执行完毕,且BUG修复完成,离上线还有一段时间,在这段时间中可是使用错误推荐法复测主要业务或测试未覆盖的功能。
六、作业