4. 授权需求收集方法:需求文档分析、用户访谈、系统架构图提取
授权需求收集是授权测试用例设计的起点。本章围绕三种核心收集方法——需求文档分析、用户访谈与系统架构图提取——提供标准化 SOP,确保授权需求获取完整、无遗漏。
方法关系总览:三种方法互补使用,共同产出结构化授权需求清单。
4.1 适用场景
| 方法 | 适用场景 |
| 需求文档分析 | 项目已有《需求规格说明书》《功能设计文档》《接口定义书》等文字材料,需要进行系统性审查时 |
| 用户访谈 | 需求文档不完整、涉及旧系统迁移、或需要确认实际业务人员对权限的理解时 |
| 系统架构图提取 | 存在多系统集成、微服务架构、API 网关、或需要梳理数据流中的权限控制点时 |
4.2 前置条件
- 已完成项目启动与角色识别(第 2 章)。
- 测试工程师已获得相关文档、架构图的访问权限。
- 访谈对象已确认(建议至少包含产品经理、开发负责人、业务关键用户各 1 名)。
- 已准备记录工具:文档批注软件、访谈录音/笔录模板、架构图标注工具。
4.3 操作步骤
步骤一:需求文档分析
- 获取材料:搜集《需求规格说明书》《功能列表》《用户故事》《API 设计文档》等,优先最新版本。
- 权限标识扫描:逐页标记包含以下关键词的段落:“权限”“角色”“授权”“访问控制”“数据隔离”“可见范围”“可编辑/只读”。
- 角色-资源-操作 提取:对每个标记段落,用表格记录:
| 角色 | 资源 | 操作 | 约束条件 |
| 管理员 | 用户管理模块 | 创建、编辑、删除、查询 | 仅本部门 |
| 普通用户 | 个人资料 | 查看、修改 | 仅自己 |
- 交叉比对:同一授权点在多个文档中出现时,以最新/最高优先级文档为准。
步骤二:用户访谈
- 设计访谈提纲:围绕“谁可以做什么?不能做什么?在什么条件下可以?”设计 5~10 个半结构化问题。
- 选择被访者:至少覆盖产品经理(业务视角)、开发负责人(实现视角)、业务关键用户(实际使用视角)。
- 执行访谈:
- 录音(征得同意)或即时速记。
- 引导被访者描述具体场景:比如“新员工入职后,如何分配审批权限?”
- 整理授权需求:将访谈记录转化为标准三元组(角色-资源-操作),标注来源(被访者姓名/角色)。
步骤三:系统架构图提取
- 获取架构图:从开发或架构师处取得系统模块图、服务依赖图、数据流图、部署拓扑图。
- 标注权限边界:在每个服务/模块/数据存储之间,标注访问控制机制(如 API 网关限流、RBAC 模块、数据库行级安全策略)。
- 推导授权点:根据模块间交互关系,推断隐含授权需求,例如:
示例:如果“订单服务”通过消息队列调用“库存服务”,则需考虑消息的消费者是否有写入库存的授权,以及是否需要在中间件层设置生产/消费权限。
- 统一录入清单:将提取结果与文档分析、访谈结果合并去重,形成完整的授权需求清单。
4.4 输入输出物
| 输入物 | 输出物 |
- 需求文档(规格书、用户故事等)
- 访谈录音/笔录(如有)
- 系统架构图(模块图、数据流图)
|
- 结构化授权需求清单(包含角色、资源、操作、约束)
- 授权需求追溯矩阵(可回溯到原始材料)
|
4.5 责任边界
| 角色 | 职责 | 交付物 |
| 测试工程师 | 主导文档分析、执行访谈、绘制架构图标注 | 授权需求清单(初稿) |
| 产品经理 | 提供需求文档、确认业务授权规则 | 文档授权确认签字 |
| 开发负责人 | 提供系统架构图、解释技术实现中的权限设计 | 架构图及注释 |
| 业务关键用户 | 参与访谈、提供实际场景示例 | 访谈反馈记录 |
4.6 记录材料
- 需求文档批注版:在原文高亮授权相关段落,并打标签(角色/资源/操作)。
- 访谈纪要:包含被访者、日期、问题、回答摘要、提取的授权点。
- 架构图标注件:在原图基础上用箭头、色块标注授权控制点,并附文字说明。
- 授权需求清单 Excel/CSV:字段包括编号、来源、角色、资源、操作、约束、状态(待确认/已确认)。
4.7 异常处理
| 异常情形 | 处理措施 |
| 需求文档版本混乱,缺少最新版 | 立即向版本管理员获取基线版本;若无法获取,联系产品经理口头确认关键部分,并记录为“待验证”。 |
| 访谈对象不配合或时间冲突 | 换人(后备人选)、或改为书面问卷+异步补充问题,但需标注置信度等级。 |
| 架构图过于陈旧或与实际不一致 | 启动架构审计会议,由开发团队现场绘制当前架构简图,测试工程师实时标注。 |
| 三种方法收集的结果相互矛盾 | 召开三方澄清会议(产品+开发+测试),达成统一理解,并更新清单。 |
4.8 验收标准
- 授权需求清单覆盖所有识别出的角色和资源,操作类型完整(CRUD + 特殊操作如审核、导出)。
- 每项需求可追溯至至少一个原始来源(文档行号/访谈记录/架构图标注)。
- 文档分析、用户访谈、架构图提取三项方法均已完成,且三方交叉验证无剩余矛盾点。
- 授权需求清单通过评审,且产品经理与开发负责人签字确认。
注意:收集阶段发现的任何“隐含权限”(如超级管理员默认拥有所有权限、或数据库直接写权限)务必在清单中标注风险等级,以便后续测试用例设计时重点覆盖。