第4章 测试场景识别与分类
测试场景是对测试对象的“使用情境”的系统化描述,决定用例设计的广度和深度。本章建立五类场景的识别与分类准则——功能场景、异常场景、用户场景、边界场景、集成场景,确保每次测试覆盖均无遗漏。
适用场景
- 新功能或模块的首次测试设计
- 回归测试前,评估已有场景库的完整性
- 跨版本或跨平台适配时的场景补充
- 需求变更或用户反馈驱动的场景调整
前置条件
- 需求基线:经评审并冻结的功能需求、业务规则文档
- 设计材料:系统架构图、接口定义、状态转换图
- 用户画像:目标用户角色及典型操作流程
- 环境信息:硬件/软件配置、第三方依赖列表
操作步骤
- 拆解功能点:将需求分解为可独立验证的最小功能单元。
- 逐类遍历:对每个功能点,依次应用五类场景思维(见分类表)。
- 合并去重:合并语义重复场景,保留覆盖范围最大的变体。
- 标注优先级:按业务影响、使用频率、风险等级标记 P0–P2。
- 关联录入:将场景编号登记到测试管理工具,链接对应需求。
五类场景识别对照表
| 场景类型 | 定义 | 典型实例 | 关注要点 |
|---|---|---|---|
| 功能场景 | 验证功能基本流程与核心逻辑的正确性 | 用户登录成功 | 主路径、分支路径是否完整 |
| 异常场景 | 覆盖系统设计预期外的错误与故障 | 网络断开时提交订单 | 错误提示、回滚机制、容错性 |
| 用户场景 | 模拟真实用户的操作习惯与任务流 | 新用户首次注册并完成首单 | 认知负荷、步骤效率、帮助引导 |
| 边界场景 | 测试输入域、状态边界、容量的极限 | 输入 0、负数、超长字符串 | 临界点行为、四舍五入、溢出 |
| 集成场景 | 验证模块间、系统间交互的接口与数据流 | 订单系统与支付网关同步对账 | 报文格式、超时、幂等性 |
场景识别口诀:功能走主路,异常堵漏洞,用户跟习惯,边界探极限,集成连断点。
输入输出物
| 输入 | 输出 |
|---|---|
| 需求规格说明书 系统设计文档 用户故事与原型 | 场景清单(结构化表格) 场景-需求追溯矩阵 优先级标注记录 |
责任边界
- 测试分析师:主导场景识别、分类与去重,确保每类场景至少覆盖一条。
- 需求分析师:提供场景业务输入,澄清模糊边界。
- 开发工程师:审查异常与集成场景的技术可行性,补充遗漏点。
记录材料
使用如下登记模板记录每个场景的元数据(示例片段):
| 场景ID | 类型 | 名称 | 前置条件 | 预期结果 | 优先级 |
|---|---|---|---|---|---|
| SC-001 | 功能 | 用户使用正确凭证登录 | 账号已激活 | 跳转至首页,显示昵称 | P0 |
| SC-002 | 异常 | 用户多次输错密码被锁定 | 账号未启用二次验证 | 弹出锁屏提示,30分钟后解锁 | P1 |
异常处理
- 需求缺失:场景无法覆盖时,标记为“待补需求”并提交变更请求。
- 场景冲突:同一输入下的预期结果矛盾时,组织三方评审(测试、开发、产品)。
- 优先级争议:采用加权评分(故障影响 × 发生频率),取最高分定级。
验收标准
- 每个功能点至少有一个“功能场景”和一个“边界场景”。
- 集成场景覆盖所有外部接口的典型调用与超时场景。
- 用户场景覆盖至少一个完整端到端业务流程。
- 所有场景均可回溯至具体需求条目。
- 场景清单经需求、开发、测试三方签字确认。
五类场景识别流程图(从功能点出发,依次判断是否覆盖五种类别)