Install
openclaw skills install @kokxi/qa-heuristic-checklist启发式检查清单,提供不同类型功能的测试要点模板。当面对未知类型功能不知道如何入手时激活。
openclaw skills install @kokxi/qa-heuristic-checklist你是一位测试设计专家,掌握各类功能的常见陷阱和测试要点。
对不同类型的功能,资深测试脑子里有一份"这类功能通常要测什么"的 mental checklist。
必须掌握的8大功能类型:
| 类型 | 典型场景 | 测试重点 |
|---|---|---|
| 表单类 | 登录、注册、搜索、提交 | 输入验证、业务规则、用户体验 |
| 列表类 | 商品列表、订单列表、数据报表 | 数据展示、分页、筛选、排序 |
| 购物车类 | 电商购物车、收藏夹 | 库存、价格、并发、数据一致性 |
| 支付类 | 在线支付、退款、转账 | 金额安全、状态一致性、幂等性 |
| 导入导出类 | 批量导入、数据导出 | 格式兼容、数据校验、性能 |
| 审批类 | 请假审批、报销审批 | 流程控制、权限、通知 |
| 消息通知类 | 系统通知、推送消息 | 触发条件、发送频率、渠道 |
| 权限类 | 角色管理、资源权限 | 越权防护、权限继承、审计 |
常见场景:登录、注册、搜索、提交、编辑
测试要点:
┌─────────────────────────────────────────────────────────────┐
│ 输入验证 │
│ ├─ 必填字段:空值、空格、null │
│ ├─ 长度限制:最小、最大、超长 │
│ ├─ 格式验证:邮箱、手机号、身份证、URL │
│ ├─ 特殊字符:<script>、SQL注入、emoji │
│ └─ 边界值:0、-1、最大值、最小值 │
├─────────────────────────────────────────────────────────────┤
│ 业务规则 │
│ ├─ 唯一性校验:重复提交、重复数据 │
│ ├─ 关联校验:外键存在性、状态流转条件 │
│ ├─ 权限校验:越权访问、角色限制 │
│ └─ 并发校验:重复提交、并发修改 │
├─────────────────────────────────────────────────────────────┤
│ 用户体验 │
│ ├─ 提交反馈:成功提示、失败提示、加载状态 │
│ ├─ 错误定位:具体字段错误、错误信息明确 │
│ ├─ 数据保留:提交失败后数据是否保留 │
│ └─ 操作撤销:是否支持撤销操作 │
└─────────────────────────────────────────────────────────────┘
常见场景:电商购物车、收藏夹、心愿单
测试要点:
┌─────────────────────────────────────────────────────────────┐
│ 商品管理 │
│ ├─ 添加商品:正常添加、库存不足、商品下架 │
│ ├─ 修改数量:增减、边界值、库存限制 │
│ ├─ 删除商品:单个删除、批量删除、清空 │
│ └─ 商品状态:价格变化、库存变化、下架处理 │
├─────────────────────────────────────────────────────────────┤
│ 价格计算 │
│ ├─ 单价计算:数量×单价、小数精度 │
│ ├─ 优惠计算:满减、折扣、优惠券叠加 │
│ ├─ 总价计算:商品总价、运费、税费 │
│ └─ 价格变化:添加后价格变化、结算时价格确认 │
├─────────────────────────────────────────────────────────────┤
│ 并发与一致性 │
│ ├─ 并发添加:多人同时添加同一商品 │
│ ├─ 并发修改:多人同时修改数量 │
│ ├─ 库存竞争:最后1件库存的并发处理 │
│ └─ 数据同步:多设备数据同步 │
├─────────────────────────────────────────────────────────────┤
│ 结算流程 │
│ ├─ 结算验证:库存检查、价格确认、优惠验证 │
│ ├─ 支付处理:支付成功、支付失败、支付超时 │
│ ├─ 订单创建:订单数据正确、库存扣减 │
│ └─ 异常处理:支付中断、重复支付、退款 │
└─────────────────────────────────────────────────────────────┘
常见场景:在线支付、退款、转账、充值
测试要点:
┌─────────────────────────────────────────────────────────────┐
│ 金额安全 │
│ ├─ 金额精度:小数位、四舍五入、精度丢失 │
│ ├─ 金额边界:0元、负数、超大金额、小数金额 │
│ ├─ 重复支付:同一订单重复提交 │
│ ├─ 并发扣款:同一账户并发支付 │
│ └─ 部分退款:部分退款后余额正确性 │
├─────────────────────────────────────────────────────────────┤
│ 状态一致性 │
│ ├─ 支付状态:待支付、支付中、支付成功、支付失败 │
│ ├─ 超时处理:支付超时后订单状态 │
│ ├─ 回调处理:支付回调丢失、重复回调 │
│ └─ 对账:支付记录与订单记录一致性 │
├─────────────────────────────────────────────────────────────┤
│ 异常场景 │
│ ├─ 支付中断:支付过程中网络中断 │
│ ├─ 支付失败:余额不足、银行卡限额 │
│ ├─ 重复回调:支付系统重复通知 │
│ └─ 退款异常:退款失败、部分退款、多次退款 │
└─────────────────────────────────────────────────────────────┘
常见场景:批量导入、数据导出、文件上传
测试要点:
┌─────────────────────────────────────────────────────────────┐
│ 文件处理 │
│ ├─ 格式兼容:Excel/CSV/TXT不同格式 │
│ ├─ 编码处理:UTF-8/GBK/ANSI │
│ ├─ 空文件:空文件、空行、空列 │
│ ├─ 大文件:大文件处理、超时处理 │
│ └─ 损坏文件:格式错误、内容损坏 │
├─────────────────────────────────────────────────────────────┤
│ 数据处理 │
│ ├─ 字段映射:列名匹配、列顺序、缺失列 │
│ ├─ 数据校验:格式校验、业务规则校验 │
│ ├─ 部分成功:部分数据成功、部分失败 │
│ ├─ 重复数据:去重策略、覆盖策略 │
│ └─ 特殊字符:换行符、制表符、特殊编码 │
├─────────────────────────────────────────────────────────────┤
│ 用户反馈 │
│ ├─ 进度反馈:导入进度、导出进度 │
│ ├─ 结果反馈:成功条数、失败条数、失败原因 │
│ ├─ 错误详情:具体哪行哪列出错 │
│ └─ 错误文件:是否提供错误文件下载 │
└─────────────────────────────────────────────────────────────┘
常见场景:请假审批、报销审批、流程审批
测试要点:
┌─────────────────────────────────────────────────────────────┐
│ 流程控制 │
│ ├─ 流程跳转:正常流程、跳过节点、回退节点 │
│ ├─ 审批权限:谁能审批、谁能查看、谁能操作 │
│ ├─ 审批动作:同意、拒绝、转办、退回 │
│ └─ 审批时限:超时处理、催办、自动审批 │
├─────────────────────────────────────────────────────────────┤
│ 状态管理 │
│ ├─ 状态流转:待审批、审批中、已通过、已拒绝 │
│ ├─ 状态回退:审批拒绝后能否重新提交 │
│ ├─ 并发审批:多人同时审批同一申请 │
│ └─ 撤回申请:审批中能否撤回 │
├─────────────────────────────────────────────────────────────┤
│ 通知提醒 │
│ ├─ 审批通知:新申请通知、审批结果通知 │
│ ├─ 催办通知:超时催办、定期提醒 │
│ └─ 通知渠道:站内信、邮件、短信、推送 │
└─────────────────────────────────────────────────────────────┘
这个功能属于哪种类型?
- [ ] 表单类
- [ ] 列表类
- [ ] 购物车类
- [ ] 支付类
- [ ] 导入导出类
- [ ] 审批类
- [ ] 消息通知类
- [ ] 权限类
根据功能类型,逐项检查:
1. [ ] 核心测试要点是否覆盖?
2. [ ] 边界条件是否分析?
3. [ ] 异常场景是否考虑?
4. [ ] 用户体验是否验证?
根据业务特点,补充特定测试场景:
1. 业务特殊规则:
2. 技术特殊约束:
3. 历史缺陷模式:
常见场景:用户列表、订单列表、数据报表
测试要点:
┌─────────────────────────────────────────────────────────────┐
│ 数据展示 │
│ ├─ 空状态:无数据时显示什么 │
│ ├─ 加载状态:数据加载中显示什么 │
│ ├─ 分页:页码、每页条数、总数显示 │
│ ├─ 排序:多字段排序、升降序、排序稳定性 │
│ └─ 筛选:多条件筛选、筛选组合、筛选重置 │
├─────────────────────────────────────────────────────────────┤
│ 数据量 │
│ ├─ 少量数据:1条、少量数据展示 │
│ ├─ 大量数据:分页是否正常、性能是否可接受 │
│ ├─ 海量数据:是否有限制、是否需要虚拟滚动 │
│ └─ 数据增长:长时间运行后数据量变化 │
├─────────────────────────────────────────────────────────────┤
│ 操作 │
│ ├─ 批量操作:全选、反选、批量删除/修改 │
│ ├─ 单条操作:编辑、删除、查看详情 │
│ ├─ 操作确认:危险操作是否二次确认 │
│ └─ 操作反馈:操作后列表是否刷新 │
└─────────────────────────────────────────────────────────────┘
常见场景:下单支付、退款、转账、充值
测试要点:
┌─────────────────────────────────────────────────────────────┐
│ 金额安全 │
│ ├─ 金额精度:小数位、四舍五入、精度丢失 │
│ ├─ 金额边界:0元、负数、超大金额、小数金额 │
│ ├─ 重复支付:同一订单重复提交 │
│ ├─ 并发扣款:同一账户并发支付 │
│ └─ 部分退款:部分退款后余额正确性 │
├─────────────────────────────────────────────────────────────┤
│ 状态一致性 │
│ ├─ 支付状态:待支付、支付中、支付成功、支付失败 │
│ ├─ 超时处理:支付超时后订单状态 │
│ ├─ 回调处理:支付回调丢失、重复回调 │
│ └─ 对账:支付记录与订单记录一致性 │
├─────────────────────────────────────────────────────────────┤
│ 异常场景 │
│ ├─ 支付中断:支付过程中网络中断 │
│ ├─ 支付失败:余额不足、银行卡限额 │
│ ├─ 重复回调:支付系统重复通知 │
│ └─ 退款异常:退款失败、部分退款、多次退款 │
└─────────────────────────────────────────────────────────────┘
常见场景:批量导入、数据导出、文件上传
测试要点:
┌─────────────────────────────────────────────────────────────┐
│ 文件处理 │
│ ├─ 格式兼容:Excel/CSV/TXT不同格式 │
│ ├─ 编码处理:UTF-8/GBK/ANSI │
│ ├─ 空文件:空文件、空行、空列 │
│ ├─ 大文件:大文件处理、超时处理 │
│ └─ 损坏文件:格式错误、内容损坏 │
├─────────────────────────────────────────────────────────────┤
│ 数据处理 │
│ ├─ 字段映射:列名匹配、列顺序、缺失列 │
│ ├─ 数据校验:格式校验、业务规则校验 │
│ ├─ 部分成功:部分数据成功、部分失败 │
│ ├─ 重复数据:去重策略、覆盖策略 │
│ └─ 特殊字符:换行符、制表符、特殊编码 │
├─────────────────────────────────────────────────────────────┤
│ 用户反馈 │
│ ├─ 进度反馈:导入进度、导出进度 │
│ ├─ 结果反馈:成功条数、失败条数、失败原因 │
│ ├─ 错误详情:具体哪行哪列出错 │
│ └─ 错误文件:是否提供错误文件下载 │
└─────────────────────────────────────────────────────────────┘
常见场景:请假审批、报销审批、流程审批
测试要点:
┌─────────────────────────────────────────────────────────────┐
│ 流程控制 │
│ ├─ 流程跳转:正常流程、跳过节点、回退节点 │
│ ├─ 审批权限:谁能审批、谁能查看、谁能操作 │
│ ├─ 审批动作:同意、拒绝、转办、退回 │
│ └─ 审批时限:超时处理、催办、自动审批 │
├─────────────────────────────────────────────────────────────┤
│ 状态管理 │
│ ├─ 状态流转:待审批、审批中、已通过、已拒绝 │
│ ├─ 状态回退:审批拒绝后能否重新提交 │
│ ├─ 并发审批:多人同时审批同一申请 │
│ └─ 撤回申请:审批中能否撤回 │
├─────────────────────────────────────────────────────────────┤
│ 通知提醒 │
│ ├─ 审批通知:新申请通知、审批结果通知 │
│ ├─ 催办通知:超时催办、定期提醒 │
│ └─ 通知渠道:站内信、邮件、短信、推送 │
└─────────────────────────────────────────────────────────────┘
常见场景:系统通知、消息推送、邮件通知
测试要点:
┌─────────────────────────────────────────────────────────────┐
│ 消息发送 │
│ ├─ 触发条件:什么事件触发通知 │
│ ├─ 发送时机:实时发送、定时发送、批量发送 │
│ ├─ 发送渠道:站内信、邮件、短信、推送 │
│ └─ 发送频率:频率限制、防重复发送 │
├─────────────────────────────────────────────────────────────┤
│ 消息接收 │
│ ├─ 接收条件:用户是否订阅、是否屏蔽 │
│ ├─ 消息展示:未读标记、消息列表、消息详情 │
│ ├─ 消息状态:未读、已读、删除 │
│ └─ 消息持久化:历史消息保存、消息搜索 │
├─────────────────────────────────────────────────────────────┤
│ 异常处理 │
│ ├─ 发送失败:重试机制、失败记录 │
│ ├─ 渠道异常:邮件被拒、短信被拦 │
│ └─ 用户异常:用户不存在、邮箱无效 │
└─────────────────────────────────────────────────────────────┘
这个功能属于哪种类型?
- [ ] 表单类
- [ ] 列表/表格类
- [ ] 支付类
- [ ] 导入/导出类
- [ ] 审批类
- [ ] 消息通知类
- [ ] 其他:___
根据功能类型,逐项检查:
1. [ ] 核心测试要点是否覆盖?
2. [ ] 边界条件是否分析?
3. [ ] 异常场景是否考虑?
4. [ ] 用户体验是否验证?
根据业务特点,补充特定测试场景:
1. 业务特殊规则:
2. 技术特殊约束:
3. 历史缺陷模式:
测试设计完成后检查: