4. 测试用例设计原则:正向用例、反向用例、边界用例、权限组合用例

4.1 适用场景

本原则适用于所有B2B权限验收项目中的测试用例设计阶段。当权限矩阵、功能清单、角色‑资源映射关系确定后,必须按照这一原则系统地构造测试用例,确保验收覆盖完整、无遗漏。任何一次权限验收(包括新增、变更、回归)都应遵循该原则,以规避因用例遗漏导致的生产事故。

4.2 前置条件

  • 已完成的权限矩阵文档(权限矩阵_v1.xlsx)
  • 功能清单与 API 接口列表
  • 测试环境已部署,且拥有管理员级账号用于构造测试数据
  • 需求文档中明确标注了“允许/禁止/受限”等权限关键字
  • 测试团队已确认边界值(如角色数量上限、资源嵌套深度、时间窗口等)

4.3 操作步骤

  1. 提取权限矩阵:将矩阵中的“角色×资源×操作”三元组整理成结构化清单。
  2. 设计正向用例:对每一个三元组,构造期望成功的场景,例如:
    角色: 管理员  →  资源: 订单模块  →  操作: 批量导出  →  预期结果: 成功导出CSV
  3. 设计反向用例:对每一个三元组,构造期望被拒绝的场景,例如:
    角色: 访客  →  资源: 订单模块  →  操作: 批量导出  →  预期结果: 403 Forbidden
  4. 设计边界用例:针对数值、层级、数量、时间等边界条件测试系统极限,例如:
    上限: 角色同时拥有1000个资源权限;下限: 角色有0个资源权限
  5. 设计权限组合用例:当两个以上权限同时在一个角色/用户上生效时,测试叠加、互斥、继承逻辑,例如:
    角色A拥有“只读”权限,角色B拥有“编辑”权限,用户同时加入两个角色 → 预期: 编辑权限生效(或按配置以最高/最低为准)
  6. 汇总与评审:将所有设计好的用例填入统一模板,由测试负责人、安全负责人、开发负责人三方签署。

4.4 输入输出物

输入物输出物
权限矩阵(Excel 或 YAML)测试用例文档(TC_权限验收_xxx.xlsx)
功能清单与API列表标注了“正向/反向/边界/组合”的用例标签
需求规格中的权限边界描述边界值记录表

4.5 责任边界

  • 测试工程师:负责正向、反向、边界用例的设计,并在自动化脚本中实现。
  • 安全专家:审核权限组合用例的逻辑正确性,确保无越权风险。
  • 开发工程师:提供边界值参考(如数据库字段长度、接口并发限制),并确认组合权限的预期行为。
  • 测试经理:把关用例覆盖率 ≥98%(正向+反向覆盖所有三元组,边界覆盖每个维度的极值)。

4.6 记录材料

测试用例模板示例(每字段不可为空)

| 用例ID | 类型        | 角色     | 资源          | 操作           | 输入条件               | 预期结果          |
|--------|-------------|----------|---------------|----------------|------------------------|-------------------|
| TC001  | 正向        | 超级管理员 | 用户管理      | 创建用户        | 合法参数              | 200 + 创建成功    |
| TC002  | 反向        | 游客      | 用户管理      | 创建用户        | 合法参数              | 403               |
| TC003  | 边界        | 管理员    | 组织架构      | 批量导入        | 导入CSV含50000条记录 | 导入成功(上限)   |
| TC004  | 权限组合    | 编辑+只读 | 文档库        | 修改文档        | 用户同时拥有两个角色  | 按“编辑”权限执行  |

4.7 异常处理

  • 需求模糊导致设计分歧:统一由产品经理出具书面确认,并在用例中增加“待定标记”;待补全后删除标记方可执行。
  • 边界值未定义:采用“类‑等价类划分法”自行推导,例如每页最大显示数通常为100,上下浮动50%作为边界;
    同时报告给架构师确认。
  • 组合用例预期结果矛盾:组织三方(开发、测试、安全)环境上进行盲测演示,以实际系统行为为准,若与需求不符则提交缺陷。
  • 自动化脚本无法覆盖的复杂组合:标记为人工复核,在测试执行阶段手动验证,并保留视频截图作为证据。

4.8 验收标准

维度标准
正向用例覆盖率权限矩阵中所有“允许”三元组 100% 覆盖
反向用例覆盖率所有“拒绝”三元组 100% 覆盖
边界用例覆盖率每个权限维度的最小值、最大值、临界值至少一个用例
权限组合用例覆盖率产品中已定义的组合场景 100% 覆盖;新增组合场景根据风险评估补充
用例可追溯性每个用例可回溯到权限矩阵单元格或需求条目(ID 对应)
测试用例设计原则框架图 测试用例设计原则 — 框架图 权限矩阵 正向用例 期望成功场景 反向用例 期望被拒绝场景 边界用例 极值/临界条件 权限组合用例 叠加/互斥测试 测试用例库(合并去重) 协作要点 组合用例需要正向+反向的边界条件交叉验证;所有用例必须反向追溯到权限矩阵的具体单元格。

实战提示:优先使用自动化手段设计并执行正向和反向用例;边界与组合用例推荐人工+自动化混合,因为边界条件的逻辑偏差容易遗漏,而组合用例的预期结果常需业务专家确认。建议每个组合场景至少包含一个“逆向组合”(即预期拒绝的组合),以检验系统的互斥逻辑。