4. 授权需求收集方法:需求文档分析、用户访谈、系统架构图提取

授权需求收集是授权测试用例设计的起点。本章围绕三种核心收集方法——需求文档分析、用户访谈与系统架构图提取——提供标准化 SOP,确保授权需求获取完整、无遗漏。

方法关系总览:三种方法互补使用,共同产出结构化授权需求清单。
授权需求收集方法 → 产出关系 需求文档分析 用户访谈 系统架构图提取 结构化授权需求清单 (角色 + 资源 + 操作 + 约束) 三种方法应交叉验证,确保不遗漏隐性授权需求(如默认权限、数据级权限)

4.1 适用场景

方法适用场景
需求文档分析项目已有《需求规格说明书》《功能设计文档》《接口定义书》等文字材料,需要进行系统性审查时
用户访谈需求文档不完整、涉及旧系统迁移、或需要确认实际业务人员对权限的理解时
系统架构图提取存在多系统集成、微服务架构、API 网关、或需要梳理数据流中的权限控制点时

4.2 前置条件

  • 已完成项目启动与角色识别(第 2 章)。
  • 测试工程师已获得相关文档、架构图的访问权限。
  • 访谈对象已确认(建议至少包含产品经理、开发负责人、业务关键用户各 1 名)。
  • 已准备记录工具:文档批注软件、访谈录音/笔录模板、架构图标注工具。

4.3 操作步骤

步骤一:需求文档分析

  1. 获取材料:搜集《需求规格说明书》《功能列表》《用户故事》《API 设计文档》等,优先最新版本。
  2. 权限标识扫描:逐页标记包含以下关键词的段落:“权限”“角色”“授权”“访问控制”“数据隔离”“可见范围”“可编辑/只读”。
  3. 角色-资源-操作 提取:对每个标记段落,用表格记录:
    角色资源操作约束条件
    管理员用户管理模块创建、编辑、删除、查询仅本部门
    普通用户个人资料查看、修改仅自己
  4. 交叉比对:同一授权点在多个文档中出现时,以最新/最高优先级文档为准。

步骤二:用户访谈

  1. 设计访谈提纲:围绕“谁可以做什么?不能做什么?在什么条件下可以?”设计 5~10 个半结构化问题。
  2. 选择被访者:至少覆盖产品经理(业务视角)、开发负责人(实现视角)、业务关键用户(实际使用视角)。
  3. 执行访谈:
    • 录音(征得同意)或即时速记。
    • 引导被访者描述具体场景:比如“新员工入职后,如何分配审批权限?”
  4. 整理授权需求:将访谈记录转化为标准三元组(角色-资源-操作),标注来源(被访者姓名/角色)。

步骤三:系统架构图提取

  1. 获取架构图:从开发或架构师处取得系统模块图、服务依赖图、数据流图、部署拓扑图。
  2. 标注权限边界:在每个服务/模块/数据存储之间,标注访问控制机制(如 API 网关限流、RBAC 模块、数据库行级安全策略)。
  3. 推导授权点:根据模块间交互关系,推断隐含授权需求,例如:
    示例:如果“订单服务”通过消息队列调用“库存服务”,则需考虑消息的消费者是否有写入库存的授权,以及是否需要在中间件层设置生产/消费权限。
  4. 统一录入清单:将提取结果与文档分析、访谈结果合并去重,形成完整的授权需求清单。

4.4 输入输出物

输入物输出物
  • 需求文档(规格书、用户故事等)
  • 访谈录音/笔录(如有)
  • 系统架构图(模块图、数据流图)
  • 结构化授权需求清单(包含角色、资源、操作、约束)
  • 授权需求追溯矩阵(可回溯到原始材料)

4.5 责任边界

角色职责交付物
测试工程师主导文档分析、执行访谈、绘制架构图标注授权需求清单(初稿)
产品经理提供需求文档、确认业务授权规则文档授权确认签字
开发负责人提供系统架构图、解释技术实现中的权限设计架构图及注释
业务关键用户参与访谈、提供实际场景示例访谈反馈记录

4.6 记录材料

  • 需求文档批注版:在原文高亮授权相关段落,并打标签(角色/资源/操作)。
  • 访谈纪要:包含被访者、日期、问题、回答摘要、提取的授权点。
  • 架构图标注件:在原图基础上用箭头、色块标注授权控制点,并附文字说明。
  • 授权需求清单 Excel/CSV:字段包括编号、来源、角色、资源、操作、约束、状态(待确认/已确认)。

4.7 异常处理

异常情形处理措施
需求文档版本混乱,缺少最新版立即向版本管理员获取基线版本;若无法获取,联系产品经理口头确认关键部分,并记录为“待验证”。
访谈对象不配合或时间冲突换人(后备人选)、或改为书面问卷+异步补充问题,但需标注置信度等级。
架构图过于陈旧或与实际不一致启动架构审计会议,由开发团队现场绘制当前架构简图,测试工程师实时标注。
三种方法收集的结果相互矛盾召开三方澄清会议(产品+开发+测试),达成统一理解,并更新清单。

4.8 验收标准

  • 授权需求清单覆盖所有识别出的角色和资源,操作类型完整(CRUD + 特殊操作如审核、导出)。
  • 每项需求可追溯至至少一个原始来源(文档行号/访谈记录/架构图标注)。
  • 文档分析、用户访谈、架构图提取三项方法均已完成,且三方交叉验证无剩余矛盾点。
  • 授权需求清单通过评审,且产品经理与开发负责人签字确认。
注意:收集阶段发现的任何“隐含权限”(如超级管理员默认拥有所有权限、或数据库直接写权限)务必在清单中标注风险等级,以便后续测试用例设计时重点覆盖。