# CTMS 角色功能验收测试总说明 ## 1. 测试目标 本测试文档包用于组织真实业务用户完成 CTMS 功能验收。测试对象包括 1 个系统管理员角色和 6 个项目内业务角色: - ADMIN:系统管理员 - PM:项目负责人 - CRA:临床监查员 - PV:药物警戒 - MEDICAL_REVIEW:医学审核 - IMP:药品管理员 - QA:质量稽查 测试重点不是验证接口实现细节,而是确认真实用户能否按自己的岗位职责完成日常工作,并确认系统能正确阻止越权操作。 ## 2. 测试边界 本轮测试覆盖: - 登录、注册审核、账号启停、密码重置 - 项目、中心、项目成员、CRA 绑定 - 项目权限配置和权限变更生效 - 项目总览、立项配置、里程碑 - 受试者、访视、PDS、受试者历史 - AE/SAE、PD、监查访视问题 - 合同费用、付款节点、费用附件 - 药品流向、物资、设备 - 文档、附件、FAQ、知识库 - 审计日志查看、筛选、导出 - 项目锁定、停用用户、非项目成员访问等规则 本轮测试不覆盖: - 自动化测试脚本编写 - 性能压测 - 安全渗透测试 - 生产数据迁移验证 - 第三方系统集成验收 ## 3. 测试环境 | 项目 | 内容 | |---|---| | 前端地址 | `http://localhost:8888` | | 后端 API | 同域 `/api/v1/*` | | 浏览器 | Chrome、Edge 或 Safari 最新稳定版 | | 测试数据 | 使用本文档定义的 UAT 数据 | | 数据隔离 | 不使用真实生产受试者、真实药品批号或真实合同金额 | 测试前由 ADMIN 确认应用可访问,数据库已完成迁移,页面可以正常登录。 ## 4. 测试账号 密码建议统一设置为 `Uat123456`,测试完成后由 ADMIN 统一禁用或重置。 | 账号 | 角色 | 项目成员 | 用途 | |---|---|---|---| | `uat-admin@example.com` | ADMIN | 不要求 | 系统治理、账号、项目、权限、审计 | | `uat-pm@example.com` | PM | 是 | 项目负责人全流程 | | `uat-cra@example.com` | CRA | 是 | 受试者、访视、监查问题 | | `uat-pv@example.com` | PV | 是 | AE/SAE、风险问题 | | `uat-medical@example.com` | MEDICAL_REVIEW | 是 | 医学审核、医学信息协作 | | `uat-imp@example.com` | IMP | 是 | 药品、物资、设备 | | `uat-qa@example.com` | QA | 是 | 稽查、审计、只读核查 | | `uat-no-role@example.com` | 普通启用用户 | 否 | 非项目成员访问边界 | 如环境已存在同名账号,ADMIN 可以复用,但必须确认账号状态为启用,角色和项目成员身份与上表一致。 ## 5. UAT 基础数据 | 类型 | 编号或名称 | 说明 | |---|---|---| | 项目 | `UAT-CTMS-角色功能验收项目` | 所有角色共同使用 | | 中心 1 | `UAT-中心-01` | 绑定 `uat-cra@example.com` | | 中心 2 | `UAT-中心-02` | 用于中心切换和权限边界 | | 受试者 1 | `UAT-SUBJ-001` | CRA 创建,后续访视和 AE 使用 | | 受试者 2 | `UAT-SUBJ-002` | 用于状态流转 | | 受试者 3 | `UAT-SUBJ-003` | 用于只读、历史和导出核查 | | 药品批次 | `UAT-DRUG-BATCH-001` | IMP 药品流向测试 | | 物资 | `UAT-MATERIAL-001` | IMP/QA 物资测试 | | 设备 | `UAT-EQUIPMENT-001` | 设备管理测试 | | 合同 | `UAT-CONTRACT-001` | PM 费用合同测试 | | AE | `UAT-AE-001` | PV/医学审核测试 | | PD | `UAT-PD-001` | 风险问题测试 | | 监查问题 | `UAT-MONITOR-001` | CRA/QA 测试 | | FAQ | `UAT-FAQ-001` | PM 维护、其他角色查看 | | 知识库笔记 | `UAT-NOTE-001` | 医学审核/CRA/PV 协作 | 测试数据命名必须保留 `UAT-` 前缀,便于审计日志筛选和测试结束后清理。 ## 6. 通用执行规则 1. 每个角色使用自己的账号登录,不共用浏览器会话。 2. 切换角色前退出登录,或使用无痕窗口。 3. 每个场景执行前确认当前项目为 `UAT-CTMS-角色功能验收项目`。 4. 需要验证权限边界时,必须记录系统表现:按钮不可见、按钮禁用、提交后提示权限不足,或自动跳转。 5. 写操作完成后刷新页面,确认数据仍存在。 6. 涉及审计的操作完成后,由 ADMIN 或 QA 在审计日志中核查。 7. 若前置数据不存在,先回到 ADMIN 或 PM 手册补齐,不直接修改本角色测试步骤。 ## 7. 结果判定 | 结果 | 判定标准 | |---|---| | 通过 | 用户按步骤完成操作,结果与期望一致,刷新后数据保持一致 | | 失败 | 页面报错、数据错误、权限放行/拦截不符合期望 | | 阻塞 | 测试无法继续,例如账号不可用、项目不可见、基础数据缺失 | | 不适用 | 当前版本页面未提供对应入口,且产品确认本轮不验收 | 失败和阻塞必须记录截图、账号、时间、项目、操作路径和实际提示。 ## 8. 缺陷记录格式 ```markdown ### 缺陷编号:UAT-角色-序号 - 测试角色: - 测试账号: - 测试时间: - 所属项目: - 操作路径: - 前置条件: - 操作步骤: - 期望结果: - 实际结果: - 截图或附件: - 严重程度:阻塞 / 高 / 中 / 低 - 是否可复现:是 / 否 ``` ## 9. 场景模板 各角色手册统一使用以下格式: ```markdown ### 场景 X:场景名称 适用角色: 前置条件: 操作路径: 测试步骤: 1. 2. 3. 测试数据: - 期望结果: - 通过标准: - ``` ## 10. 验收完成标准 本轮角色功能验收完成需同时满足: - ADMIN 手册全部核心场景通过。 - PM、CRA、PV、MEDICAL_REVIEW、IMP、QA 每个角色至少完成主流程和权限边界测试。 - 权限与规则交叉清单中高风险规则全部通过。 - 所有失败项均已登记,阻塞项已明确责任和后续处理方式。 - 测试负责人确认不再有影响继续验收的环境问题。