测试用例编写模板
以下模板包含产品测试需要覆盖的主要方面,每个方面都有使用说明,有经验的 QA 使用模板可以避免遗漏,新人可以借助此模板的引导,快速掌握创建测试用例的系统方法。
[功能名称]测试用例
1. 基本信息
1.1 功能简介
简要描述功能的流程
1.2 需求文档参照
相关产品的 PRD 链接,设计师的 UI 设计稿链接,开发的接口文档等
1.3 相关人员
通常包括 PM,RD,UI,QA
2. 测试方案
2.1 冒烟测试用例
定义不超过 10 个测试用例,优先级为 P0。这些测试用例在 RD 交付 Build 给 QA 前必须测试通过。通常这些测试用例是功能中用户最主要的使用场景。
用例名称 | 测试步骤 | 检查点 |
---|---|---|
用例1 | 步骤1,步骤2... | 检查步骤1的结果,检查步骤2的结果... |
用例2 |
2.2 测试条件
列出用户的使用场景,按照业务流程和逻辑分支来组织用户使用场景。先主要后次要,先正常后异常,主要的设置为 P1,次要的设置为 P2,执行过一次后不需要频繁执行的设置为 P3。
登录 | 管理员登录 | 优先级 | 测试点 |
---|---|---|---|
登录 | 会员登录 | P1 | 有高级功能,有会员菜单 |
游客登录 | P2 | 没有高级功能,没有会员菜单 | |
资料 | 头像上传 | P3 | 检查头像替换为新上传的 |
2.2.1 在业务流程、业务逻辑方面,应考虑以下因素
分类 | 备注 |
---|---|
用户类型 | 不同权限角色 |
游客 | |
用户状态 | 已登录 |
未登录/离线/登录态过期 | |
未注册 | |
锁定 | |
流程状态 | 业务状态间的转换路径 |
业务状态的前进后退 | |
业务状态中断 | |
流程终点 | 业务流程的目标状态 |
其他完成态 |
2.2.2 组合测试场景
按照"谁"”怎么做”"结果"先列出主体,再列出动作,最后列出结果,把各类别进行笛卡尔积,然后除去无效的路径,剩下有效路径。思考过程如图
2.2.3 边界值测试与异常测试
情况分类 | 测试角度 |
---|---|
网络异常 | 无网 |
弱网,wifi切换 | |
飞行模式 | |
数据异常 | 空值 |
数值过小过大,特殊字符处理 | |
机器时间 | |
边界值 | 需求设计的允许值两端 |
数据类型的边界值 | |
控件的第一个和最后一个元素 |
2.2.4 常用控件测试点参考
控件 | 测试方法 |
---|---|
文本框 | 空 |
数字、字母、特殊字符、中文 | |
最大最小长度 | |
样式 | |
是否编辑状态,隐藏显示状态 | |
是否允许复制、黏贴、换行 | |
按钮 | 外观 |
可选状态 | |
是否记忆选中项 | |
列表 | 列表为空 |
分屏显示 | |
分屏数量 | |
列表尾部 | |
列表下拉刷新,上划加载 | |
排序 | |
搜索 | 热词联想 |
搜索记录 | |
Tab | 切换刷新 |
更新提示 | |
输入法 | 默认键盘 |
弹出、收起 |
2.3 关联功能测试
列出跟被测功能相关的其他模块,这些模块一般是和被测功能有数据交互的,新功能可能会导致老功能不可用。
常见的关联关系:
关联关系 | 模块名称 | 备注 |
---|---|---|
数据输入 | 数据输入的上游模块 | |
数据输出 | 数据输出的下游模块 | |
共享数据 | 多端账户 | 同一账户多端账户数据同步 |
调用关系 | 摄像头,GPS | 扫码需要移动设备授权 |
2.4 兼容测试
列出测试产品支持的平台和系统的版本等,数据从产品的用户数据分析获得,也可以通过平台的官方数据获得。
平台 | 支持的设备类型 | 支持的平台版本 | 分辨率 | 备注 |
---|---|---|---|---|
iOS | iPhone, iPad | iOS8-12,beta | 960x640,1136x640,1920x1080 | 提前准备 |
Android | Android, Pad | Android4.4-9,beta | 800x480,720x1280,960x540,1920x1080,2560x1536 | 提前适配 |
Web | Safari, Chrome, IE,FireFox | IE8-11,Chrome最新2版,Safari,FireFox最新版 |
2.5 升级和数据迁移
列出新老版本的数据检查点,测试升级后老版本的数据保留和新旧数据格式的兼容。
升级路径 | 检查点 | 备注 |
---|---|---|
V2 ——> V3 | 应用数据保留(登录态,历史记录,自定义配置等);新旧数据的格式兼容 | 普通APP升级的场景 |
V1——> V3 | 跨版本升级一般占总升级数的比例很少 | |
V1 ——> V2 ——> V3 | 大部分用户的升级路径 |
2.6 性能测试
判断功能可能影响到性能,则需要对性能进行测试,列出对哪些性能指标进行测评,以及测试方式。考虑点有如下几个:
- 客户端
- 安装包大小:是否过大,超过同级别应用
- 启动时间:是否明显缓慢
- 页面切换时间:是否流畅
- CPU/电量消耗:是否占用资源过多,造成卡顿、过热
- 内存占用量:是否占用过大的内存空间
- 网络接口
- 接口调用返回时间:服务返回时间是否在期望的范围
- 网络流量:发送和接收的网络数据是否在正常范围
- 后台服务
- 服务器的系统资源:CPU,内存,IO 是否在正常范围
- 数据库:增删改查的响应时间是否正常
2.7 压力测试
- 预感产品用户量大,需要评估业务处理的极限值和稳定值
- 想确定业务接口每秒最多可以支撑多少用户的正常访问
- 有长时间使用产品的用户场景,需要考虑做稳定性测试
2.8 安全测试
考虑产品在用户账号,权限限制,数据传输,常见漏洞,数据可靠性等方面是否需要测试。
- 是否允许复制黏贴密码
- 是否加密传输信息
- 是否明文保存账户信息
- 低权限的用户是否可以看见限制内容
- 是否可跨进程查看数据
- 是否使用 https,证书签名或加密传输
- 是否包含 WEB 组件
- 数据存储是否安全
- 数据是否有备份恢复机制
2.9 自动化测试
列出可以实现自动化的功能,在测试用例上标记可以自动化。主要考虑:
- 产品主要的功能、流程
- 动小的功能
- 手工测试无法涉及到的功能
3. 测试的需求
3.1 测试数据
列出本次测试中需要的相关数据,比如测试账号,订单支付号;是否需要预先创建,需要谁来创建,何时需要创建就绪,存在已有可用数据的存在哪
3.2 测试设备
列出测试需要的硬件设备,数量和原因以及当前的状态(已有还是需采购)
3.3 测试软件
测试需要的软件,包括云服务器,付费软件等。
3.4 外包服务
列出测试工作需要依赖的外包服务,比如众测、内部 TestFest 等。
3.5 测试时间
综合考虑测试场景和测试平台的组合,以及非功能测试的时间,估算出完成整个测试所需要的时间,一般以人小时来计算。
测试用例数 | 平均执行时间 | 平台数量 | 测试执行时间(人小时) | 估时(人日) |
---|---|---|---|---|
10 | 10mins | 3 | 10x10x3/60 = 5 | 1 |
4. 风险预估
列举出测试不会覆盖的范围 (测试方案的全面性,第三方的可靠性),以及因此产生的潜在风险。