等价类
在需求中把功能对应条件找出来
符合MECE原则:不重不漏
用例设计
- 一条正向用例尽可能多的覆盖有效等价类
- 一条反向用例对应一条无效等价类
边界值
如果边界上无问题,那么其他取值有问题的概率较小
- 内点:取值范围内的点
- 上点:取值范围边界上的点(不区分开和闭区间)
- 离点:离边界最近的点,不取边界
用例设计
- 一条正向用例尽可能多的覆盖有效内点、上点、离点
- 一条反向用例对应一条无效上点、离点
边界值法是对等价类法的重要补充
【等价类的边界值适用于单一输入的情况,对于多个有逻辑关系的输入的情况不适用】
判定表
适用于复杂的逻辑关系和多种条件组合的情况
- 条件桩:所有输入条件
- 条件项:输入条件的取值
- 动作桩:所有产生动作
- 动作项:产生动作的取值
核心是遍历,遍历所有输入条件的组合,形式不重要,不一定要画表
举例
场景法
适用于业务流程(通过多个操作步骤来实现)
- 基本流:主流正确的操作流程(只有一个)
- 备用流:其他操作流程(可以用多个)
场景法只验证业务流程和影响范围,不验证单一功能,单一功能使用等价类/边界值/判定表
核心是遍历,遍历所有场景(不遗漏)(参考数据库枚举最全面、最清晰)
- 1、遍历列表所有字段是否会受到影响(告知函状态变更,剩余时间未清空)
- 2、遍历页面所有功能模块是否受到影响(变更记录、流程动态、导入导出、创建/编辑、重置、统计等)
- 3、遍历变更影响到的其他页面/功能(纯前端跳转、前后端跳转、纯后端接口调用(驳回))
举例
- 遍历某一状态变更所有的触发动作(控制变量法)(红灯判定)
- 遍历数据
- 通过状态
- 前端页面
- 数据库(全面、有些页面不显示或容易忽略(待办/已办))
- 通过是否删除
- 历史、新建
- 数据来源是否删除
- 正常
- 删除
- 删除 + 正常(代码只筛选了删除的,导致正常被过滤)
- 不同系统对同一数据的先后操作场景
- 移动端兼容
- 不同的机型(厂商)
- 不同的操作系统(IOS和安卓)
- 手势
- 相机权限
- 网络
- 无网
- 弱网
- 大文件上传导致的接口超时问题(需做成异步)
- 不同的屏幕尺寸和分辨率
- 特殊场景
- 前端操作是否会导致数据的丢失
- 人员的变更导致权限的变更
- 状态更新后前端需实时调用接口
- 不同用户权限的数据隔离
- 需改服务器时间(借助单元测试)
- 外部系统的通信须有重发机制(MQ)
- 接口的多次调用(前端防抖、后端幂等性)
- 需考虑是否要性能测试和安全测试
流程法
适用于功能的业务逻辑和实现步骤较多时,可以借助流程图的方式去辅助分析用户场景
因果图【了解】
通过分析输入条件之间的关系以及输入条件和输出之间的关系,从而设计测试用例的方法
正交法【了解】
可以简单理解为是判定表的一种简化方式
错误推测法【了解】
通过经验和直觉去发现程序的错误,包含对开发人员的了解