diff --git a/.gitignore b/.gitignore index 9a577d61..744a063a 100644 --- a/.gitignore +++ b/.gitignore @@ -69,6 +69,12 @@ docs/postman/local.postman_environment.json docs/postman/*.local.json !docs/postman/*.example.json +# Role test documents and generated exports +docs/guides/role-test/ +output/doc/role-test/ +docs/guides/role-uat/ +output/doc/role-uat/ + # Docker / runtime data pg_data/ backend/app/uploads/ diff --git a/docs/guides/role-uat/00-测试总说明.md b/docs/guides/role-uat/00-测试总说明.md deleted file mode 100644 index 623ccc1c..00000000 --- a/docs/guides/role-uat/00-测试总说明.md +++ /dev/null @@ -1,166 +0,0 @@ -# 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 每个角色至少完成主流程和权限边界测试。 -- 权限与规则交叉清单中高风险规则全部通过。 -- 所有失败项均已登记,阻塞项已明确责任和后续处理方式。 -- 测试负责人确认不再有影响继续验收的环境问题。 diff --git a/docs/guides/role-uat/01-ADMIN-系统管理员测试手册.md b/docs/guides/role-uat/01-ADMIN-系统管理员测试手册.md deleted file mode 100644 index 34fdcb5b..00000000 --- a/docs/guides/role-uat/01-ADMIN-系统管理员测试手册.md +++ /dev/null @@ -1,320 +0,0 @@ -# ADMIN 系统管理员测试手册 - -## 1. 角色定位 - -ADMIN 负责系统级治理,包括账号、项目、中心、成员、权限和审计。ADMIN 不是项目岗位角色,但必须能完成项目初始化,并具备项目内 PM 操作的兜底访问能力。 - -## 2. 测试前置 - -- 使用 `uat-admin@example.com` 登录。 -- 确认账号状态为启用。 -- 参考 `00-测试总说明.md` 准备 UAT 数据。 -- 每个高风险操作执行后记录审计日志是否生成。 - -## 3. 核心场景 - -### 场景 1:登录并进入管理后台 - -适用角色:ADMIN -前置条件:管理员账号已启用。 -操作路径:登录页 -> 管理后台。 - -测试步骤: -1. 打开系统登录页。 -2. 输入 `uat-admin@example.com` 和测试密码。 -3. 点击登录。 -4. 确认进入管理后台或可从导航进入管理后台。 - -测试数据: -- 账号:`uat-admin@example.com` - -期望结果: -- 登录成功。 -- 可看到账号管理、项目管理、权限管理、审计日志等入口。 -- 未选择项目时不影响系统级管理功能。 - -通过标准: -- ADMIN 无需项目成员身份即可访问管理后台。 - -### 场景 2:创建或确认测试用户 - -适用角色:ADMIN -前置条件:已进入账号管理。 -操作路径:管理后台 -> 账号管理。 - -测试步骤: -1. 进入账号管理列表。 -2. 搜索 `uat-pm@example.com`。 -3. 若账号不存在,点击新建用户。 -4. 填写邮箱、姓名、角色、科室和初始密码。 -5. 保存后确认用户状态为启用。 -6. 按同样方式确认 CRA、PV、MEDICAL_REVIEW、IMP、QA、无项目角色用户。 - -测试数据: -- `uat-pm@example.com`:PM -- `uat-cra@example.com`:CRA -- `uat-pv@example.com`:PV -- `uat-medical@example.com`:MEDICAL_REVIEW -- `uat-imp@example.com`:IMP -- `uat-qa@example.com`:QA -- `uat-no-role@example.com`:普通启用用户或任一非项目成员账号 - -期望结果: -- 所有测试用户存在且状态为启用。 -- 用户角色与总说明一致。 -- 用户创建或更新操作写入审计日志。 - -通过标准: -- 每个角色账号均可用于后续登录测试。 - -### 场景 3:审核自助注册用户 - -适用角色:ADMIN -前置条件:存在一个待审核注册用户。 -操作路径:登录页 -> 注册;管理后台 -> 用户审核。 - -测试步骤: -1. 退出 ADMIN。 -2. 在注册页提交一个测试账号,例如 `uat-pending@example.com`。 -3. 返回 ADMIN 登录。 -4. 进入用户审核页面。 -5. 找到待审核用户。 -6. 点击通过。 -7. 退出后使用该用户登录。 - -测试数据: -- 注册账号:`uat-pending@example.com` - -期望结果: -- 注册后用户状态为待审核,不能直接登录。 -- ADMIN 审核通过后用户可以登录。 -- 审核动作写入审计日志。 - -通过标准: -- 待审核用户被正确拦截,审核通过后状态正确变更。 - -### 场景 4:禁用用户并验证登录拦截 - -适用角色:ADMIN -前置条件:存在启用状态测试用户。 -操作路径:管理后台 -> 账号管理。 - -测试步骤: -1. 搜索 `uat-no-role@example.com`。 -2. 执行禁用操作。 -3. 退出 ADMIN。 -4. 使用 `uat-no-role@example.com` 登录。 -5. 返回 ADMIN,将该用户重新启用。 - -测试数据: -- 用户:`uat-no-role@example.com` - -期望结果: -- 禁用后该用户不能登录或不能继续访问系统。 -- 重新启用后可恢复登录。 -- 禁用和启用动作写入审计日志。 - -通过标准: -- 用户状态能正确控制登录访问。 - -### 场景 5:创建 UAT 项目 - -适用角色:ADMIN -前置条件:ADMIN 已登录。 -操作路径:管理后台 -> 项目管理 -> 新建项目。 - -测试步骤: -1. 进入项目管理。 -2. 点击新建项目。 -3. 填写项目名称、编号、申办方、适应症等必填信息。 -4. 保存。 -5. 返回项目列表搜索该项目。 - -测试数据: -- 项目名称:`UAT-CTMS-角色功能验收项目` -- 项目编号:`UAT-CTMS-RUAT-001` - -期望结果: -- 项目创建成功。 -- 项目列表可查询到该项目。 -- 项目详情显示与输入一致。 -- 项目创建动作写入审计日志。 - -通过标准: -- 后续角色可选择该项目或被加入该项目。 - -### 场景 6:创建中心并绑定 CRA - -适用角色:ADMIN -前置条件:UAT 项目已存在,CRA 用户已启用。 -操作路径:管理后台 -> 项目管理 -> 项目详情 -> 中心管理。 - -测试步骤: -1. 进入 UAT 项目的中心管理。 -2. 新建 `UAT-中心-01`。 -3. 填写机构名称、中心编号、PI、联系电话等字段。 -4. 保存。 -5. 新建 `UAT-中心-02`。 -6. 在中心 CRA 绑定页面,将 `uat-cra@example.com` 绑定到 `UAT-中心-01`。 - -测试数据: -- 中心 1:`UAT-中心-01` -- 中心 2:`UAT-中心-02` -- CRA:`uat-cra@example.com` - -期望结果: -- 两个中心创建成功。 -- `UAT-中心-01` 显示已绑定 CRA。 -- 中心创建和 CRA 绑定动作写入审计日志。 - -通过标准: -- CRA 后续能看到或使用绑定中心完成受试者测试。 - -### 场景 7:添加项目成员并分配 6 个项目角色 - -适用角色:ADMIN -前置条件:UAT 项目和测试用户均已存在。 -操作路径:管理后台 -> 权限管理 -> 项目权限配置 -> 成员。 - -测试步骤: -1. 进入 UAT 项目的项目权限配置。 -2. 打开成员配置。 -3. 添加 PM、CRA、PV、MEDICAL_REVIEW、IMP、QA 六个账号。 -4. 分别设置对应项目角色。 -5. 确认 `uat-no-role@example.com` 不在项目成员中。 - -测试数据: -- 参考总说明测试账号表。 - -期望结果: -- 六个业务角色均成为 UAT 项目成员。 -- 每个成员角色正确。 -- 非项目成员账号不在项目成员列表中。 -- 成员变更写入审计日志。 - -通过标准: -- 六个业务角色后续可进入项目工作区。 - -### 场景 8:查看和调整项目权限矩阵 - -适用角色:ADMIN -前置条件:UAT 项目已有成员。 -操作路径:管理后台 -> 权限管理 -> 项目权限配置。 - -测试步骤: -1. 进入项目权限配置。 -2. 查看角色权限矩阵。 -3. 确认 PM 权限全部放行。 -4. 临时关闭 CRA 的“创建参与者”权限。 -5. 保存权限。 -6. 使用 CRA 登录,尝试创建受试者。 -7. 返回 ADMIN,恢复 CRA 的“创建参与者”权限并保存。 -8. 使用 CRA 再次验证创建受试者入口恢复。 - -测试数据: -- 项目:`UAT-CTMS-角色功能验收项目` -- 角色:CRA -- 权限:创建参与者 - -期望结果: -- PM 权限不可被实际削弱或始终具备项目内全权限。 -- CRA 权限关闭后无法创建受试者。 -- CRA 权限恢复后可继续创建受试者。 -- 权限变更写入审计日志。 - -通过标准: -- 权限变更能被真实角色用户感知,且不会破坏 PM 全权限规则。 - -### 场景 9:锁定和解锁项目 - -适用角色:ADMIN -前置条件:UAT 项目未锁定。 -操作路径:管理后台 -> 项目管理 -> 项目详情。 - -测试步骤: -1. 打开 UAT 项目详情。 -2. 执行锁定项目。 -3. 使用 PM 或 CRA 登录并进入项目。 -4. 尝试执行一个写操作,例如新建受试者或保存立项配置。 -5. 返回 ADMIN 解锁项目。 -6. 使用同一角色再次尝试写操作。 - -测试数据: -- 项目:`UAT-CTMS-角色功能验收项目` - -期望结果: -- 锁定后项目只读或写操作被明确阻止。 -- 解锁后写操作恢复。 -- 锁定和解锁动作写入审计日志。 - -通过标准: -- 项目锁定规则对所有项目角色生效。 - -### 场景 10:查看和导出审计日志 - -适用角色:ADMIN -前置条件:已完成若干账号、项目、权限或业务操作。 -操作路径:管理后台 -> 审计日志。 - -测试步骤: -1. 进入审计日志。 -2. 按操作人筛选 `uat-admin@example.com`。 -3. 按对象或事件筛选项目、用户、权限变更记录。 -4. 设置时间范围。 -5. 导出系统审计日志。 -6. 如支持项目审计,选择 UAT 项目导出项目审计日志。 - -测试数据: -- 操作人:`uat-admin@example.com` -- 项目:`UAT-CTMS-角色功能验收项目` - -期望结果: -- 审计日志列表可按条件筛选。 -- 导出前出现敏感信息确认提示。 -- 导出文件包含筛选范围内的关键操作。 - -通过标准: -- 管理员能追溯用户、项目、权限、锁定等关键动作。 - -### 场景 11:验证 ADMIN 项目内兜底权限 - -适用角色:ADMIN -前置条件:UAT 项目已存在,ADMIN 未必是项目成员。 -操作路径:项目工作区 -> 项目总览 / 受试者 / 费用 / 立项配置。 - -测试步骤: -1. 以 ADMIN 身份进入 UAT 项目。 -2. 查看项目总览。 -3. 尝试进入受试者管理。 -4. 尝试进入合同费用管理。 -5. 尝试进入立项配置或里程碑页面。 - -测试数据: -- 项目:`UAT-CTMS-角色功能验收项目` - -期望结果: -- ADMIN 可访问项目内主要页面。 -- ADMIN 不因缺少项目成员身份被拒绝。 -- ADMIN 写操作能力与 PM 保持一致。 - -通过标准: -- ADMIN 具备系统治理和项目内兜底能力。 - -## 4. ADMIN 权限边界核查 - -| 检查项 | 期望结果 | -|---|---| -| 待审核用户登录 | 被拒绝 | -| 禁用用户登录 | 被拒绝 | -| 非项目成员访问 UAT 项目 | 被拒绝或只能看到允许范围 | -| 项目锁定后业务写操作 | 被拒绝 | -| 权限关闭后对应角色操作 | 被拒绝 | -| 权限恢复后对应角色操作 | 恢复 | -| 审计日志导出 | 需要确认,且可追溯 | - -## 5. 完成标准 - -- 所有测试账号准备完成。 -- UAT 项目、中心、成员、权限准备完成。 -- 项目锁定、权限变更、审计日志三个高风险规则通过。 -- 后续 6 个项目角色可以开始业务验收。 diff --git a/docs/guides/role-uat/02-PM-项目负责人测试手册.md b/docs/guides/role-uat/02-PM-项目负责人测试手册.md deleted file mode 100644 index 0dbbdff2..00000000 --- a/docs/guides/role-uat/02-PM-项目负责人测试手册.md +++ /dev/null @@ -1,279 +0,0 @@ -# PM 项目负责人测试手册 - -## 1. 角色定位 - -PM 是项目内最高业务权限角色,负责项目主数据、里程碑、立项配置、费用、FAQ、项目成员协同和关键关闭/删除动作。项目内权限规则要求 PM 始终具备项目内全权限。 - -## 2. 测试前置 - -- 使用 `uat-pm@example.com` 登录。 -- 已被加入 `UAT-CTMS-角色功能验收项目`,项目角色为 PM。 -- UAT 项目未锁定。 -- 已存在 `UAT-中心-01` 和 `UAT-中心-02`。 - -## 3. 核心场景 - -### 场景 1:登录并进入 UAT 项目 - -适用角色:PM -前置条件:PM 账号启用且已加入项目。 -操作路径:登录页 -> 项目列表或当前项目 -> 项目总览。 - -测试步骤: -1. 使用 `uat-pm@example.com` 登录。 -2. 在项目列表中选择 `UAT-CTMS-角色功能验收项目`。 -3. 进入项目总览。 -4. 查看项目关键指标、中心、受试者和待办信息。 - -测试数据: -- 项目:`UAT-CTMS-角色功能验收项目` - -期望结果: -- PM 可进入项目。 -- 项目总览正常显示。 -- 无权限不足提示。 - -通过标准: -- PM 可以作为项目业务负责人进入项目工作区。 - -### 场景 2:维护立项配置草稿 - -适用角色:PM -前置条件:已进入 UAT 项目。 -操作路径:项目工作区 -> 立项配置或相关入口。 - -测试步骤: -1. 打开立项配置页面。 -2. 创建或编辑立项配置草稿。 -3. 填写项目基本信息、中心计划、访视窗口或药品配置等可编辑项。 -4. 保存草稿。 -5. 刷新页面后重新打开草稿。 - -测试数据: -- 配置名称:`UAT-SETUP-DRAFT-001` - -期望结果: -- 草稿保存成功。 -- 刷新后数据仍存在。 -- 保存动作写入审计日志。 - -通过标准: -- PM 可以维护项目配置草稿。 - -### 场景 3:发布和回滚立项配置 - -适用角色:PM -前置条件:存在可发布的立项配置草稿。 -操作路径:项目工作区 -> 立项配置。 - -测试步骤: -1. 打开已保存的配置草稿。 -2. 点击发布。 -3. 确认发布结果和版本号。 -4. 修改草稿并再次发布一个新版本。 -5. 执行回滚到上一版本。 -6. 查看当前生效版本。 - -测试数据: -- 版本 1:`UAT-SETUP-V1` -- 版本 2:`UAT-SETUP-V2` - -期望结果: -- 发布成功并生成版本记录。 -- 回滚后当前版本恢复到指定版本。 -- 发布和回滚动作写入审计日志。 - -通过标准: -- PM 可以控制项目配置版本生命周期。 - -### 场景 4:维护项目里程碑 - -适用角色:PM -前置条件:已进入 UAT 项目。 -操作路径:项目工作区 -> 项目里程碑。 - -测试步骤: -1. 打开项目里程碑页面。 -2. 新增或编辑一个里程碑。 -3. 设置计划日期、负责人和状态。 -4. 保存。 -5. 修改状态为已完成或延期。 - -测试数据: -- 里程碑:`UAT-MILESTONE-001` - -期望结果: -- 里程碑保存成功。 -- 状态变更后列表和详情一致。 -- 操作写入审计日志或项目历史。 - -通过标准: -- PM 可以维护项目计划节点。 - -### 场景 5:创建费用合同 - -适用角色:PM -前置条件:至少存在一个中心。 -操作路径:项目工作区 -> 合同费用管理 -> 新建。 - -测试步骤: -1. 进入合同费用管理。 -2. 点击新建合同。 -3. 填写合同编号、中心、金额、付款计划等必填信息。 -4. 保存。 -5. 返回列表查看合同。 -6. 进入详情核对字段。 - -测试数据: -- 合同编号:`UAT-CONTRACT-001` -- 中心:`UAT-中心-01` -- 合同金额:`10000` - -期望结果: -- 合同创建成功。 -- 列表和详情展示一致。 -- 合同创建动作写入审计日志。 - -通过标准: -- PM 可以维护费用合同。 - -### 场景 6:维护付款节点 - -适用角色:PM -前置条件:存在 `UAT-CONTRACT-001`。 -操作路径:项目工作区 -> 合同费用管理 -> 合同详情。 - -测试步骤: -1. 打开 `UAT-CONTRACT-001`。 -2. 新增第一个付款节点。 -3. 新增第二个付款节点。 -4. 编辑其中一个付款节点金额或日期。 -5. 删除一个测试付款节点。 - -测试数据: -- 节点 1:启动费,金额 `3000` -- 节点 2:入组费,金额 `7000` - -期望结果: -- 付款节点可新增、编辑和删除。 -- 合同详情中的金额汇总正确。 -- 操作写入审计日志。 - -通过标准: -- PM 可以完成费用分期维护。 - -### 场景 7:维护 FAQ - -适用角色:PM -前置条件:已进入 UAT 项目。 -操作路径:项目工作区 -> FAQ 或共享库相关入口。 - -测试步骤: -1. 打开 FAQ 页面。 -2. 新建 FAQ 分类。 -3. 新建问题 `UAT-FAQ-001`。 -4. 填写问题、答案、适用范围。 -5. 保存后编辑答案。 -6. 删除测试问题或测试分类。 - -测试数据: -- FAQ:`UAT-FAQ-001` - -期望结果: -- PM 可维护 FAQ 分类和内容。 -- 其他角色后续可查看。 -- 创建、编辑、删除动作写入审计日志。 - -通过标准: -- PM 可以维护项目知识问答。 - -### 场景 8:管理项目成员 - -适用角色:PM -前置条件:项目权限允许 PM 管理成员。 -操作路径:管理后台 -> 权限管理 -> 项目权限配置 -> 成员。 - -测试步骤: -1. 使用 PM 进入项目权限配置。 -2. 查看项目成员列表。 -3. 添加或移除一个测试成员。 -4. 修改该成员项目角色。 -5. 恢复到总说明要求的成员状态。 - -测试数据: -- 临时成员:`uat-no-role@example.com` - -期望结果: -- PM 可以查看和调整项目成员。 -- 成员变更后对应账号项目访问权限变化。 -- 成员变更写入审计日志。 - -通过标准: -- PM 具备项目成员管理能力。 - -### 场景 9:验证 PM 全权限规则 - -适用角色:PM -前置条件:ADMIN 尝试关闭某个 PM 权限或权限矩阵存在变更。 -操作路径:项目工作区多个模块。 - -测试步骤: -1. 进入受试者管理,确认可新建或编辑。 -2. 进入合同费用管理,确认可新建或编辑。 -3. 进入药品流向管理,确认可新建或编辑。 -4. 进入监查访视问题,确认可创建和关闭问题。 -5. 进入权限管理,确认可查看项目权限。 - -测试数据: -- 项目:`UAT-CTMS-角色功能验收项目` - -期望结果: -- PM 在项目内关键模块均可执行写操作。 -- 若权限矩阵页面显示 PM 权限,PM 权限应保持全部放行。 - -通过标准: -- PM 不被误降权。 - -### 场景 10:项目锁定后的写操作拦截 - -适用角色:PM -前置条件:ADMIN 已锁定 UAT 项目。 -操作路径:项目工作区 -> 任一写操作页面。 - -测试步骤: -1. 进入项目总览,确认仍可查看项目。 -2. 尝试保存立项配置。 -3. 尝试新建或编辑费用合同。 -4. 记录系统提示。 -5. 等 ADMIN 解锁项目后重复一次写操作。 - -测试数据: -- 项目:`UAT-CTMS-角色功能验收项目` - -期望结果: -- 项目锁定后写操作被阻止。 -- 解锁后写操作恢复。 - -通过标准: -- 项目锁定规则对 PM 也生效。 - -## 4. PM 权限边界核查 - -| 检查项 | 期望结果 | -|---|---| -| 项目总览 | 可查看 | -| 立项配置保存/发布/回滚 | 可执行 | -| 项目里程碑维护 | 可执行 | -| 合同费用维护 | 可执行 | -| 受试者和访视维护 | 可执行 | -| 药品和物资维护 | 可执行 | -| FAQ 维护 | 可执行 | -| 项目成员和权限配置 | 可执行 | -| 项目锁定后写操作 | 被阻止 | - -## 5. 完成标准 - -- PM 能完成项目内主流程。 -- PM 全权限规则通过。 -- 项目锁定对 PM 写操作生效。 -- PM 的关键写操作可被审计追溯。 diff --git a/docs/guides/role-uat/03-CRA-临床监查员测试手册.md b/docs/guides/role-uat/03-CRA-临床监查员测试手册.md deleted file mode 100644 index bece05fb..00000000 --- a/docs/guides/role-uat/03-CRA-临床监查员测试手册.md +++ /dev/null @@ -1,274 +0,0 @@ -# CRA 临床监查员测试手册 - -## 1. 角色定位 - -CRA 负责项目现场执行相关工作,重点验证中心查看、受试者、访视、PDS、受试者历史、监查问题、文档和附件。CRA 应能执行与临床监察相关的写操作,但不能管理项目权限、项目成员或高风险删除类操作。 - -## 2. 测试前置 - -- 使用 `uat-cra@example.com` 登录。 -- 已加入 `UAT-CTMS-角色功能验收项目`,项目角色为 CRA。 -- `UAT-中心-01` 已绑定该 CRA。 -- 项目未锁定。 - -## 3. 核心场景 - -### 场景 1:登录并进入项目 - -适用角色:CRA -前置条件:CRA 账号启用且已加入项目。 -操作路径:登录页 -> 项目列表 -> 项目总览。 - -测试步骤: -1. 使用 `uat-cra@example.com` 登录。 -2. 选择 `UAT-CTMS-角色功能验收项目`。 -3. 进入项目总览。 -4. 查看项目关键指标和中心信息。 - -测试数据: -- 项目:`UAT-CTMS-角色功能验收项目` - -期望结果: -- CRA 可进入项目。 -- 项目总览正常展示。 -- 无权限不足提示。 - -通过标准: -- CRA 可查看项目基础运行信息。 - -### 场景 2:查看中心并确认 CRA 绑定 - -适用角色:CRA -前置条件:`UAT-中心-01` 已绑定 CRA。 -操作路径:项目工作区 -> 中心相关入口或项目总览。 - -测试步骤: -1. 查看中心列表或中心信息。 -2. 找到 `UAT-中心-01`。 -3. 确认中心联系人或 CRA 绑定信息。 -4. 尝试编辑中心基础信息。 - -测试数据: -- 中心:`UAT-中心-01` - -期望结果: -- CRA 可查看中心信息。 -- CRA 不能编辑中心基础信息或提交后被提示权限不足。 - -通过标准: -- 中心读权限和写权限边界正确。 - -### 场景 3:创建受试者 - -适用角色:CRA -前置条件:项目未锁定,存在可用中心。 -操作路径:项目工作区 -> 参与者管理 -> 新建。 - -测试步骤: -1. 进入参与者管理。 -2. 点击新建。 -3. 选择 `UAT-中心-01`。 -4. 输入受试者编号 `UAT-SUBJ-001`。 -5. 填写筛选、入组或基线相关必填字段。 -6. 保存。 -7. 返回列表搜索该受试者。 - -测试数据: -- 受试者编号:`UAT-SUBJ-001` -- 中心:`UAT-中心-01` - -期望结果: -- 受试者创建成功。 -- 列表和详情页数据一致。 -- 创建动作写入审计日志。 - -通过标准: -- CRA 可完成受试者创建。 - -### 场景 4:更新受试者状态 - -适用角色:CRA -前置条件:存在 `UAT-SUBJ-001`。 -操作路径:项目工作区 -> 参与者管理 -> 受试者详情。 - -测试步骤: -1. 打开 `UAT-SUBJ-001` 详情。 -2. 编辑受试者状态。 -3. 将状态更新为入组或完成当前允许状态。 -4. 保存。 -5. 刷新详情页。 - -测试数据: -- 受试者:`UAT-SUBJ-001` - -期望结果: -- 状态更新成功。 -- 刷新后状态保持一致。 -- 状态变更写入审计日志或受试者历史。 - -通过标准: -- CRA 可维护受试者状态。 - -### 场景 5:创建和更新访视 - -适用角色:CRA -前置条件:存在 `UAT-SUBJ-001`,且有可用访视配置。 -操作路径:项目工作区 -> 参与者管理 -> 受试者详情 -> 访视。 - -测试步骤: -1. 打开 `UAT-SUBJ-001` 详情。 -2. 新建一次访视记录。 -3. 填写访视日期、访视类型和备注。 -4. 保存。 -5. 编辑访视备注并保存。 - -测试数据: -- 访视:`UAT-VISIT-001` - -期望结果: -- 访视创建和更新成功。 -- 访视记录展示在受试者详情中。 -- 操作写入审计日志或受试者历史。 - -通过标准: -- CRA 可维护访视信息。 - -### 场景 6:维护 PDS 或方案偏离 - -适用角色:CRA -前置条件:存在 `UAT-SUBJ-001`。 -操作路径:项目工作区 -> 风险问题 -> PD 或受试者详情 -> PDS。 - -测试步骤: -1. 进入 PD/PDS 页面。 -2. 新建 `UAT-PD-001`。 -3. 选择关联受试者和中心。 -4. 填写偏离类型、发生日期、描述和处理措施。 -5. 保存。 -6. 编辑处理措施。 - -测试数据: -- PD 编号:`UAT-PD-001` -- 受试者:`UAT-SUBJ-001` - -期望结果: -- PD/PDS 记录创建和更新成功。 -- 记录可在列表和详情中查看。 - -通过标准: -- CRA 可维护与现场执行相关的偏离记录。 - -### 场景 7:创建监查访视问题 - -适用角色:CRA -前置条件:存在可用中心。 -操作路径:项目工作区 -> 风险问题 -> 监查访视问题。 - -测试步骤: -1. 进入监查访视问题页面。 -2. 新建 `UAT-MONITOR-001`。 -3. 选择中心、问题分类、严重程度和责任人。 -4. 填写问题描述和整改要求。 -5. 保存。 -6. 修改问题状态或补充整改信息。 - -测试数据: -- 问题编号:`UAT-MONITOR-001` -- 中心:`UAT-中心-01` - -期望结果: -- 监查问题创建和更新成功。 -- 问题状态变化可追踪。 - -通过标准: -- CRA 可完成监查问题管理。 - -### 场景 8:上传附件或维护文档 - -适用角色:CRA -前置条件:存在受试者或监查问题记录。 -操作路径:相关详情页 -> 附件;或项目工作区 -> 文件版本管理。 - -测试步骤: -1. 打开 `UAT-SUBJ-001` 或 `UAT-MONITOR-001` 详情。 -2. 上传一个测试 PDF 或图片附件。 -3. 保存。 -4. 下载或预览附件。 -5. 如页面支持,编辑附件说明。 - -测试数据: -- 附件名称:`UAT-CRA-附件-001` - -期望结果: -- 附件上传成功。 -- 附件可查看或下载。 -- 附件操作写入审计日志。 - -通过标准: -- CRA 可完成现场文档或附件维护。 - -### 场景 9:查看费用合同但不能维护合同 - -适用角色:CRA -前置条件:PM 已创建 `UAT-CONTRACT-001`。 -操作路径:项目工作区 -> 合同费用管理。 - -测试步骤: -1. 进入合同费用管理。 -2. 打开 `UAT-CONTRACT-001`。 -3. 查看合同金额、中心和付款节点。 -4. 尝试新建或编辑合同。 - -测试数据: -- 合同:`UAT-CONTRACT-001` - -期望结果: -- CRA 可查看合同。 -- CRA 不能创建、编辑或删除合同,或提交后被权限拦截。 - -通过标准: -- 费用读写边界符合角色职责。 - -### 场景 10:权限边界验证 - -适用角色:CRA -前置条件:已登录并进入项目。 -操作路径:多个模块。 - -测试步骤: -1. 尝试进入项目权限配置。 -2. 尝试添加项目成员。 -3. 尝试删除受试者。 -4. 尝试删除中心。 -5. 尝试发布或回滚立项配置。 - -测试数据: -- 项目:`UAT-CTMS-角色功能验收项目` - -期望结果: -- CRA 不能配置权限。 -- CRA 不能管理项目成员。 -- CRA 不能执行 PM 专属删除、发布、回滚类操作。 - -通过标准: -- 越权操作被明确阻止。 - -## 4. CRA 权限边界核查 - -| 检查项 | 期望结果 | -|---|---| -| 项目总览 | 可查看 | -| 中心信息 | 可查看,不可维护 | -| 受试者创建/更新 | 可执行 | -| 访视创建/更新 | 可执行 | -| PD/PDS 创建/更新 | 可执行 | -| 监查问题创建/更新/关闭 | 可执行 | -| 合同费用 | 可查看,不可维护合同主数据 | -| 项目成员和权限配置 | 不可执行 | -| 高风险删除 | 不可执行或仅允许明确授权范围 | - -## 5. 完成标准 - -- CRA 可完成现场监察主流程。 -- CRA 不能越权执行 PM 或 ADMIN 治理操作。 -- CRA 写操作可被审计追溯。 diff --git a/docs/guides/role-uat/04-PV-药物警戒测试手册.md b/docs/guides/role-uat/04-PV-药物警戒测试手册.md deleted file mode 100644 index c0dd0a6f..00000000 --- a/docs/guides/role-uat/04-PV-药物警戒测试手册.md +++ /dev/null @@ -1,244 +0,0 @@ -# PV 药物警戒测试手册 - -## 1. 角色定位 - -PV 负责药物安全相关信息处理,重点验证 AE/SAE、风险问题、医学相关信息查看和监查问题协作。PV 应能参与不良事件和部分风险问题处理,但不能维护项目成员、中心、费用合同、药品流向或项目配置。 - -## 2. 测试前置 - -- 使用 `uat-pv@example.com` 登录。 -- 已加入 `UAT-CTMS-角色功能验收项目`,项目角色为 PV。 -- 项目未锁定。 -- 至少存在一个受试者 `UAT-SUBJ-001`。 - -## 3. 核心场景 - -### 场景 1:登录并进入项目 - -适用角色:PV -前置条件:PV 账号启用且已加入项目。 -操作路径:登录页 -> 项目列表 -> 项目总览。 - -测试步骤: -1. 使用 `uat-pv@example.com` 登录。 -2. 选择 `UAT-CTMS-角色功能验收项目`。 -3. 进入项目总览。 -4. 查看项目基础信息。 - -测试数据: -- 项目:`UAT-CTMS-角色功能验收项目` - -期望结果: -- PV 可进入项目并查看总览。 -- 无权限不足提示。 - -通过标准: -- PV 可以访问项目基础信息。 - -### 场景 2:查看受试者信息 - -适用角色:PV -前置条件:存在 `UAT-SUBJ-001`。 -操作路径:项目工作区 -> 参与者管理。 - -测试步骤: -1. 打开参与者管理。 -2. 搜索 `UAT-SUBJ-001`。 -3. 进入受试者详情。 -4. 查看中心、状态、访视和医学相关信息。 -5. 尝试编辑受试者基础资料。 - -测试数据: -- 受试者:`UAT-SUBJ-001` - -期望结果: -- PV 可查看受试者详情。 -- PV 不能编辑受试者基础资料。 - -通过标准: -- 受试者信息对 PV 只读。 - -### 场景 3:创建 AE/SAE - -适用角色:PV -前置条件:存在受试者和中心。 -操作路径:项目工作区 -> 风险问题 -> AE/SAE。 - -测试步骤: -1. 进入 AE/SAE 页面。 -2. 点击新建。 -3. 选择 `UAT-SUBJ-001` 和 `UAT-中心-01`。 -4. 填写事件名称、发生日期、严重程度、处理措施和报告状态。 -5. 保存。 -6. 返回列表搜索 `UAT-AE-001`。 - -测试数据: -- AE 编号:`UAT-AE-001` -- 受试者:`UAT-SUBJ-001` -- 中心:`UAT-中心-01` - -期望结果: -- AE/SAE 创建成功。 -- 列表和详情展示一致。 -- 创建动作写入审计日志。 - -通过标准: -- PV 可创建药物安全相关事件。 - -### 场景 4:更新 AE/SAE - -适用角色:PV -前置条件:存在 `UAT-AE-001`。 -操作路径:项目工作区 -> 风险问题 -> AE/SAE -> 详情。 - -测试步骤: -1. 打开 `UAT-AE-001`。 -2. 编辑事件严重程度、处理措施或随访信息。 -3. 保存。 -4. 刷新详情页。 - -测试数据: -- AE:`UAT-AE-001` - -期望结果: -- 更新成功。 -- 刷新后数据保持一致。 -- 更新动作写入审计日志。 - -通过标准: -- PV 可维护 AE/SAE 处理信息。 - -### 场景 5:关闭 AE/SAE - -适用角色:PV -前置条件:存在开放状态 `UAT-AE-001`。 -操作路径:项目工作区 -> 风险问题 -> AE/SAE -> 详情。 - -测试步骤: -1. 打开 `UAT-AE-001`。 -2. 执行关闭或完成操作。 -3. 填写关闭原因或结论。 -4. 保存。 -5. 返回列表确认状态。 - -测试数据: -- AE:`UAT-AE-001` - -期望结果: -- AE 状态变为关闭或完成。 -- 关闭动作写入审计日志。 - -通过标准: -- PV 可完成 AE/SAE 生命周期处理。 - -### 场景 6:查看和协作处理监查问题 - -适用角色:PV -前置条件:存在 `UAT-MONITOR-001`。 -操作路径:项目工作区 -> 风险问题 -> 监查访视问题。 - -测试步骤: -1. 打开监查访视问题页面。 -2. 搜索 `UAT-MONITOR-001`。 -3. 查看问题详情。 -4. 如页面支持,补充 PV 相关说明或更新处理信息。 - -测试数据: -- 监查问题:`UAT-MONITOR-001` - -期望结果: -- PV 可查看监查问题。 -- 如权限允许,可更新与风险协作相关字段。 -- 不允许删除监查问题。 - -通过标准: -- PV 可参与风险问题协作,但不能执行 PM 专属删除。 - -### 场景 7:维护知识库笔记 - -适用角色:PV -前置条件:项目未锁定。 -操作路径:项目工作区 -> 共享库 -> 注意事项。 - -测试步骤: -1. 进入注意事项页面。 -2. 新建 `UAT-NOTE-001`。 -3. 填写标题、分类和内容。 -4. 保存。 -5. 编辑内容并保存。 -6. 尝试删除该笔记。 - -测试数据: -- 笔记:`UAT-NOTE-001` - -期望结果: -- PV 可创建和编辑知识库笔记。 -- PV 不能删除知识库笔记,或删除操作被权限拦截。 - -通过标准: -- 知识库协作权限和删除边界正确。 - -### 场景 8:附件上传边界 - -适用角色:PV -前置条件:存在 AE 或风险问题记录。 -操作路径:AE/SAE 详情 -> 附件。 - -测试步骤: -1. 打开 `UAT-AE-001` 详情。 -2. 上传一个安全性报告附件。 -3. 保存。 -4. 下载或预览附件。 -5. 尝试删除 CRA 上传的附件。 - -测试数据: -- 附件:`UAT-PV-安全性报告-001` - -期望结果: -- PV 可上传和查看附件。 -- 删除他人附件按系统规则被允许或被拒绝,实际结果需记录。 - -通过标准: -- 附件权限表现明确且可追溯。 - -### 场景 9:权限边界验证 - -适用角色:PV -前置条件:已登录并进入项目。 -操作路径:多个模块。 - -测试步骤: -1. 尝试新建受试者。 -2. 尝试维护费用合同。 -3. 尝试创建药品发货。 -4. 尝试进入项目成员管理。 -5. 尝试发布立项配置。 - -测试数据: -- 项目:`UAT-CTMS-角色功能验收项目` - -期望结果: -- PV 不能执行上述非职责范围操作。 -- 页面应隐藏入口、禁用按钮或提交后提示权限不足。 - -通过标准: -- PV 越权操作被明确阻止。 - -## 4. PV 权限边界核查 - -| 检查项 | 期望结果 | -|---|---| -| 项目总览 | 可查看 | -| 受试者详情 | 可查看,不可维护基础资料 | -| AE/SAE 创建/更新/关闭 | 可执行 | -| 监查问题查看/协作 | 可执行授权范围内操作 | -| 知识库笔记创建/编辑 | 可执行 | -| 费用合同维护 | 不可执行 | -| 药品流向维护 | 不可执行 | -| 项目成员和权限配置 | 不可执行 | - -## 5. 完成标准 - -- PV 可完成药物警戒主流程。 -- PV 不能越权维护项目、费用、药品或受试者主数据。 -- PV 关键动作可被审计追溯。 diff --git a/docs/guides/role-uat/05-MEDICAL_REVIEW-医学审核测试手册.md b/docs/guides/role-uat/05-MEDICAL_REVIEW-医学审核测试手册.md deleted file mode 100644 index ce1ef823..00000000 --- a/docs/guides/role-uat/05-MEDICAL_REVIEW-医学审核测试手册.md +++ /dev/null @@ -1,219 +0,0 @@ -# MEDICAL_REVIEW 医学审核测试手册 - -## 1. 角色定位 - -医学审核负责医学相关信息核查和专业协作,重点验证 AE/SAE、PD、医学咨询、知识库、受试者医学信息和风险问题查看。医学审核可以参与医学相关记录维护,但不能执行项目治理、费用、药品流向或受试者主数据维护。 - -## 2. 测试前置 - -- 使用 `uat-medical@example.com` 登录。 -- 已加入 `UAT-CTMS-角色功能验收项目`,项目角色为 MEDICAL_REVIEW。 -- 项目未锁定。 -- 至少存在 `UAT-SUBJ-001` 和 `UAT-AE-001`。 - -## 3. 核心场景 - -### 场景 1:登录并进入项目 - -适用角色:MEDICAL_REVIEW -前置条件:账号启用且已加入项目。 -操作路径:登录页 -> 项目列表 -> 项目总览。 - -测试步骤: -1. 使用 `uat-medical@example.com` 登录。 -2. 选择 `UAT-CTMS-角色功能验收项目`。 -3. 进入项目总览。 -4. 查看项目基础信息。 - -测试数据: -- 项目:`UAT-CTMS-角色功能验收项目` - -期望结果: -- 医学审核可进入项目并查看总览。 -- 无权限不足提示。 - -通过标准: -- 医学审核可以访问项目基础信息。 - -### 场景 2:查看受试者医学相关信息 - -适用角色:MEDICAL_REVIEW -前置条件:存在 `UAT-SUBJ-001`。 -操作路径:项目工作区 -> 参与者管理 -> 受试者详情。 - -测试步骤: -1. 打开参与者管理。 -2. 搜索 `UAT-SUBJ-001`。 -3. 进入详情。 -4. 查看受试者状态、访视、AE/SAE、PD/PDS 和历史记录。 -5. 尝试编辑受试者基础资料。 - -测试数据: -- 受试者:`UAT-SUBJ-001` - -期望结果: -- 医学审核可查看受试者相关信息。 -- 医学审核不能编辑受试者基础资料。 - -通过标准: -- 医学审核具备医学判断所需读权限,但不能改主数据。 - -### 场景 3:查看和更新 AE/SAE 医学信息 - -适用角色:MEDICAL_REVIEW -前置条件:存在 `UAT-AE-001`。 -操作路径:项目工作区 -> 风险问题 -> AE/SAE。 - -测试步骤: -1. 进入 AE/SAE 页面。 -2. 搜索并打开 `UAT-AE-001`。 -3. 查看事件描述、严重程度、处理措施和随访信息。 -4. 如页面支持医学意见字段,填写医学审核意见。 -5. 保存。 - -测试数据: -- AE:`UAT-AE-001` -- 医学意见:`UAT-医学审核意见-001` - -期望结果: -- 医学审核可查看 AE/SAE 详情。 -- 授权范围内的医学意见可保存。 -- 操作写入审计日志或事件历史。 - -通过标准: -- 医学审核可完成医学专业协作。 - -### 场景 4:创建或维护风险问题 - -适用角色:MEDICAL_REVIEW -前置条件:存在受试者和中心。 -操作路径:项目工作区 -> 风险问题 -> AE/SAE 或监查访视问题。 - -测试步骤: -1. 进入风险问题页面。 -2. 新建一条医学相关风险记录,或打开已有记录。 -3. 填写医学描述、判断依据和建议措施。 -4. 保存。 -5. 返回列表确认记录。 - -测试数据: -- 风险记录:`UAT-MED-RISK-001` - -期望结果: -- 医学审核可在授权范围内创建或更新医学相关风险记录。 -- 删除操作不可执行或被权限拦截。 - -通过标准: -- 医学审核可参与风险处理,但不能执行 PM 专属删除。 - -### 场景 5:使用医学咨询 - -适用角色:MEDICAL_REVIEW -前置条件:项目未锁定。 -操作路径:项目工作区 -> 共享库 -> 医学咨询。 - -测试步骤: -1. 打开医学咨询页面。 -2. 查看咨询列表。 -3. 打开一条咨询详情。 -4. 如页面支持回复或记录意见,填写 `UAT-医学咨询回复-001`。 -5. 保存。 - -测试数据: -- 医学咨询回复:`UAT-医学咨询回复-001` - -期望结果: -- 医学审核可查看医学咨询。 -- 授权范围内可回复或维护医学意见。 - -通过标准: -- 医学咨询流程对医学审核可用。 - -### 场景 6:维护知识库笔记 - -适用角色:MEDICAL_REVIEW -前置条件:项目未锁定。 -操作路径:项目工作区 -> 共享库 -> 注意事项。 - -测试步骤: -1. 进入注意事项页面。 -2. 新建 `UAT-MED-NOTE-001`。 -3. 填写标题、分类和医学注意事项内容。 -4. 保存。 -5. 编辑内容。 -6. 尝试删除该笔记。 - -测试数据: -- 笔记:`UAT-MED-NOTE-001` - -期望结果: -- 医学审核可创建和编辑知识库笔记。 -- 删除操作不可执行或被权限拦截。 - -通过标准: -- 医学知识协作权限和删除边界正确。 - -### 场景 7:查看伦理和可行性信息 - -适用角色:MEDICAL_REVIEW -前置条件:PM 已创建伦理或可行性记录。 -操作路径:项目工作区 -> 立项与伦理。 - -测试步骤: -1. 打开立项与伦理页面。 -2. 查看可行性记录。 -3. 查看伦理记录。 -4. 尝试新建或编辑伦理记录。 - -测试数据: -- 项目:`UAT-CTMS-角色功能验收项目` - -期望结果: -- 医学审核可查看伦理和可行性信息。 -- 医学审核不能新建、编辑或删除伦理记录。 - -通过标准: -- 医学审核可获取医学评估所需信息,但不能维护立项主流程。 - -### 场景 8:权限边界验证 - -适用角色:MEDICAL_REVIEW -前置条件:已登录并进入项目。 -操作路径:多个模块。 - -测试步骤: -1. 尝试新建受试者。 -2. 尝试维护合同费用。 -3. 尝试创建药品发货。 -4. 尝试进入项目成员管理。 -5. 尝试发布或回滚立项配置。 - -测试数据: -- 项目:`UAT-CTMS-角色功能验收项目` - -期望结果: -- 医学审核不能执行非医学职责范围操作。 -- 越权操作被隐藏、禁用或提交后拦截。 - -通过标准: -- 医学审核权限边界清晰。 - -## 4. 医学审核权限边界核查 - -| 检查项 | 期望结果 | -|---|---| -| 项目总览 | 可查看 | -| 受试者详情 | 可查看,不可维护基础资料 | -| AE/SAE 查看和医学协作 | 可执行授权范围内操作 | -| 医学咨询 | 可查看,可执行授权范围内协作 | -| 知识库笔记创建/编辑 | 可执行 | -| 伦理和可行性 | 可查看,不可维护 | -| 费用合同维护 | 不可执行 | -| 药品流向维护 | 不可执行 | -| 项目成员和权限配置 | 不可执行 | - -## 5. 完成标准 - -- 医学审核可完成医学信息查看和协作。 -- 医学审核不能越权维护业务主数据。 -- 医学审核关键写操作可被审计追溯。 diff --git a/docs/guides/role-uat/06-IMP-药品管理员测试手册.md b/docs/guides/role-uat/06-IMP-药品管理员测试手册.md deleted file mode 100644 index d8d874c5..00000000 --- a/docs/guides/role-uat/06-IMP-药品管理员测试手册.md +++ /dev/null @@ -1,244 +0,0 @@ -# IMP 药品管理员测试手册 - -## 1. 角色定位 - -IMP 负责药品、物资和设备相关管理,重点验证药品发货、药品流向、物资、设备、预算和合同信息查看。IMP 不应维护受试者主数据、AE/SAE、项目成员、权限或立项配置。 - -## 2. 测试前置 - -- 使用 `uat-imp@example.com` 登录。 -- 已加入 `UAT-CTMS-角色功能验收项目`,项目角色为 IMP。 -- 项目未锁定。 -- 已存在 `UAT-中心-01` 和 `UAT-中心-02`。 - -## 3. 核心场景 - -### 场景 1:登录并进入项目 - -适用角色:IMP -前置条件:IMP 账号启用且已加入项目。 -操作路径:登录页 -> 项目列表 -> 项目总览。 - -测试步骤: -1. 使用 `uat-imp@example.com` 登录。 -2. 选择 `UAT-CTMS-角色功能验收项目`。 -3. 进入项目总览。 -4. 查看项目基础信息。 - -测试数据: -- 项目:`UAT-CTMS-角色功能验收项目` - -期望结果: -- IMP 可进入项目并查看总览。 -- 无权限不足提示。 - -通过标准: -- IMP 可以访问项目基础信息。 - -### 场景 2:查看中心信息 - -适用角色:IMP -前置条件:项目存在中心。 -操作路径:项目工作区 -> 项目总览或中心相关入口。 - -测试步骤: -1. 查看中心列表或中心信息。 -2. 打开 `UAT-中心-01`。 -3. 查看中心名称、编号、联系人和状态。 -4. 尝试编辑中心信息。 - -测试数据: -- 中心:`UAT-中心-01` - -期望结果: -- IMP 可查看中心信息。 -- IMP 不能维护中心主数据。 - -通过标准: -- 药品发货所需中心读权限可用,中心写权限受限。 - -### 场景 3:创建药品发货记录 - -适用角色:IMP -前置条件:存在可用中心。 -操作路径:项目工作区 -> 药品管理 -> 药品流向管理 -> 新建。 - -测试步骤: -1. 进入药品流向管理。 -2. 点击新建。 -3. 选择 `UAT-中心-01`。 -4. 填写药品批次 `UAT-DRUG-BATCH-001`、数量、发货日期和承运信息。 -5. 保存。 -6. 返回列表搜索该批次。 - -测试数据: -- 药品批次:`UAT-DRUG-BATCH-001` -- 中心:`UAT-中心-01` -- 数量:`10` - -期望结果: -- 药品发货记录创建成功。 -- 列表和详情展示一致。 -- 创建动作写入审计日志。 - -通过标准: -- IMP 可创建药品流向记录。 - -### 场景 4:更新药品发货记录 - -适用角色:IMP -前置条件:存在 `UAT-DRUG-BATCH-001` 发货记录。 -操作路径:项目工作区 -> 药品流向管理 -> 详情或编辑。 - -测试步骤: -1. 打开 `UAT-DRUG-BATCH-001` 发货记录。 -2. 修改承运信息、备注或收货状态。 -3. 保存。 -4. 刷新详情页。 - -测试数据: -- 药品批次:`UAT-DRUG-BATCH-001` - -期望结果: -- 更新成功。 -- 刷新后数据保持一致。 -- 更新动作写入审计日志。 - -通过标准: -- IMP 可维护药品流向。 - -### 场景 5:删除药品发货记录边界 - -适用角色:IMP -前置条件:存在药品发货记录。 -操作路径:项目工作区 -> 药品流向管理。 - -测试步骤: -1. 打开药品流向列表。 -2. 找到一条测试发货记录。 -3. 尝试删除。 -4. 记录系统表现。 - -测试数据: -- 药品批次:`UAT-DRUG-BATCH-001` - -期望结果: -- IMP 不能删除药品发货记录,或删除按钮不可见。 -- 如果系统允许删除,必须记录为待确认权限项。 - -通过标准: -- 删除类高风险操作符合权限矩阵。 - -### 场景 6:维护物资 - -适用角色:IMP -前置条件:项目未锁定。 -操作路径:项目工作区 -> 物资管理。 - -测试步骤: -1. 打开物资管理页面。 -2. 新建 `UAT-MATERIAL-001`。 -3. 填写名称、类型、数量、存放位置和备注。 -4. 保存。 -5. 编辑数量或备注。 - -测试数据: -- 物资:`UAT-MATERIAL-001` - -期望结果: -- 物资创建和更新成功。 -- 列表和详情展示一致。 - -通过标准: -- IMP 可维护物资信息。 - -### 场景 7:维护设备 - -适用角色:IMP -前置条件:项目未锁定。 -操作路径:项目工作区 -> 设备管理。 - -测试步骤: -1. 打开设备管理页面。 -2. 新建 `UAT-EQUIPMENT-001`。 -3. 填写设备名称、编号、中心、状态和校准信息。 -4. 保存。 -5. 编辑设备状态或备注。 -6. 尝试删除设备。 - -测试数据: -- 设备:`UAT-EQUIPMENT-001` - -期望结果: -- 设备创建和更新按权限执行。 -- 删除操作如果被拒绝,提示清晰;如果允许,需记录为权限确认项。 - -通过标准: -- IMP 设备管理权限表现清晰。 - -### 场景 8:查看预算和合同费用 - -适用角色:IMP -前置条件:PM 已创建 `UAT-CONTRACT-001`。 -操作路径:项目工作区 -> 合同费用管理;启动与授权或预算相关页面。 - -测试步骤: -1. 打开合同费用管理。 -2. 查看 `UAT-CONTRACT-001`。 -3. 查看合同金额、中心和付款节点。 -4. 尝试编辑合同。 -5. 打开预算或启动授权相关页面并查看记录。 - -测试数据: -- 合同:`UAT-CONTRACT-001` - -期望结果: -- IMP 可查看合同和预算相关信息。 -- IMP 不能维护合同主数据或付款节点。 - -通过标准: -- 财务相关读写边界正确。 - -### 场景 9:权限边界验证 - -适用角色:IMP -前置条件:已登录并进入项目。 -操作路径:多个模块。 - -测试步骤: -1. 尝试新建受试者。 -2. 尝试创建 AE/SAE。 -3. 尝试创建或关闭监查问题。 -4. 尝试进入项目成员管理。 -5. 尝试发布立项配置。 - -测试数据: -- 项目:`UAT-CTMS-角色功能验收项目` - -期望结果: -- IMP 不能执行非药品物资职责范围操作。 -- 越权操作被隐藏、禁用或提交后拦截。 - -通过标准: -- IMP 权限边界清晰。 - -## 4. IMP 权限边界核查 - -| 检查项 | 期望结果 | -|---|---| -| 项目总览 | 可查看 | -| 中心信息 | 可查看,不可维护 | -| 药品发货创建/更新 | 可执行 | -| 药品发货删除 | 不可执行或需权限确认 | -| 物资维护 | 可执行 | -| 设备维护 | 可执行授权范围内操作 | -| 合同和预算 | 可查看,不可维护 | -| 受试者维护 | 不可执行 | -| AE/SAE 维护 | 不可执行 | -| 项目成员和权限配置 | 不可执行 | - -## 5. 完成标准 - -- IMP 可完成药品、物资、设备主流程。 -- IMP 不能越权维护临床、医学、费用或项目治理数据。 -- IMP 关键写操作可被审计追溯。 diff --git a/docs/guides/role-uat/07-QA-质量稽查测试手册.md b/docs/guides/role-uat/07-QA-质量稽查测试手册.md deleted file mode 100644 index 457598a7..00000000 --- a/docs/guides/role-uat/07-QA-质量稽查测试手册.md +++ /dev/null @@ -1,247 +0,0 @@ -# QA 质量稽查测试手册 - -## 1. 角色定位 - -QA 负责质量稽查、审计核查和只读监督,重点验证审计日志、监查稽查、文档、物资、受试者和 AE/SAE 的只读查看。QA 不应修改业务主数据,除非项目权限明确授权。 - -## 2. 测试前置 - -- 使用 `uat-qa@example.com` 登录。 -- 已加入 `UAT-CTMS-角色功能验收项目`,项目角色为 QA。 -- 项目未锁定。 -- 项目中已存在受试者、AE/SAE、药品流向、物资和审计日志。 - -## 3. 核心场景 - -### 场景 1:登录并进入项目 - -适用角色:QA -前置条件:QA 账号启用且已加入项目。 -操作路径:登录页 -> 项目列表 -> 项目总览。 - -测试步骤: -1. 使用 `uat-qa@example.com` 登录。 -2. 选择 `UAT-CTMS-角色功能验收项目`。 -3. 进入项目总览。 -4. 查看项目基础信息。 - -测试数据: -- 项目:`UAT-CTMS-角色功能验收项目` - -期望结果: -- QA 可进入项目并查看总览。 -- 无权限不足提示。 - -通过标准: -- QA 可以访问项目基础信息。 - -### 场景 2:查看审计日志 - -适用角色:QA -前置条件:项目已有审计记录。 -操作路径:管理后台 -> 审计日志,或项目审计入口。 - -测试步骤: -1. 进入审计日志页面。 -2. 按项目筛选 `UAT-CTMS-角色功能验收项目`。 -3. 按操作人筛选 `uat-pm@example.com` 或 `uat-cra@example.com`。 -4. 按操作类型筛选创建、更新、权限变更或导出记录。 -5. 打开一条审计详情。 - -测试数据: -- 项目:`UAT-CTMS-角色功能验收项目` - -期望结果: -- QA 可查看项目审计日志。 -- 筛选条件生效。 -- 审计详情包含时间、操作人、对象、动作和结果。 - -通过标准: -- QA 能完成项目审计追溯。 - -### 场景 3:导出审计日志 - -适用角色:QA -前置条件:存在可导出的审计记录。 -操作路径:审计日志 -> 导出。 - -测试步骤: -1. 设置项目和时间范围。 -2. 点击导出项目审计。 -3. 确认敏感信息导出提示。 -4. 打开导出文件。 -5. 核对文件中是否包含筛选范围内记录。 - -测试数据: -- 项目:`UAT-CTMS-角色功能验收项目` - -期望结果: -- 导出前有确认提示。 -- 导出成功。 -- 文件内容与筛选条件一致。 -- 导出动作本身写入审计日志。 - -通过标准: -- QA 可完成审计导出并保留导出留痕。 - -### 场景 4:查看受试者和访视 - -适用角色:QA -前置条件:存在 `UAT-SUBJ-001`。 -操作路径:项目工作区 -> 参与者管理。 - -测试步骤: -1. 打开参与者管理。 -2. 搜索 `UAT-SUBJ-001`。 -3. 进入受试者详情。 -4. 查看访视、状态、附件和历史记录。 -5. 尝试编辑受试者基础资料。 -6. 尝试新建访视。 - -测试数据: -- 受试者:`UAT-SUBJ-001` - -期望结果: -- QA 可查看受试者和访视。 -- QA 不能编辑受试者或新建访视。 - -通过标准: -- 受试者和访视对 QA 为只读。 - -### 场景 5:查看 AE/SAE 和风险问题 - -适用角色:QA -前置条件:存在 `UAT-AE-001` 和 `UAT-MONITOR-001`。 -操作路径:项目工作区 -> 风险问题。 - -测试步骤: -1. 打开 AE/SAE 页面。 -2. 查看 `UAT-AE-001` 详情。 -3. 打开监查访视问题页面。 -4. 查看 `UAT-MONITOR-001` 详情。 -5. 尝试编辑或关闭问题。 - -测试数据: -- AE:`UAT-AE-001` -- 监查问题:`UAT-MONITOR-001` - -期望结果: -- QA 可查看风险问题详情。 -- QA 不能编辑、关闭或删除风险问题,除非项目权限明确授权。 - -通过标准: -- 风险问题对 QA 的只读边界正确。 - -### 场景 6:查看药品流向、物资和设备 - -适用角色:QA -前置条件:存在药品流向、物资和设备记录。 -操作路径:项目工作区 -> 药品管理 / 物资管理 / 设备管理。 - -测试步骤: -1. 打开药品流向管理。 -2. 查看 `UAT-DRUG-BATCH-001`。 -3. 打开物资管理,查看 `UAT-MATERIAL-001`。 -4. 打开设备管理,查看 `UAT-EQUIPMENT-001`。 -5. 尝试编辑任一记录。 - -测试数据: -- 药品批次:`UAT-DRUG-BATCH-001` -- 物资:`UAT-MATERIAL-001` -- 设备:`UAT-EQUIPMENT-001` - -期望结果: -- QA 可查看药品、物资和设备信息。 -- QA 不能编辑药品、物资或设备。 - -通过标准: -- QA 可完成质量核查所需查看,不能改业务数据。 - -### 场景 7:查看文档和附件 - -适用角色:QA -前置条件:项目中存在文档或附件。 -操作路径:项目工作区 -> 文件版本管理;相关详情页 -> 附件。 - -测试步骤: -1. 打开文件版本管理。 -2. 查看一份项目文档。 -3. 打开受试者或 AE 详情中的附件。 -4. 下载或预览附件。 -5. 尝试上传或删除附件。 - -测试数据: -- 附件:任一 `UAT-` 前缀附件。 - -期望结果: -- QA 可查看文档和附件。 -- QA 不能上传或删除附件,除非项目权限明确授权。 - -通过标准: -- 文档和附件满足稽查只读需求。 - -### 场景 8:监查稽查页面核查 - -适用角色:QA -前置条件:系统提供监查稽查或稽查入口。 -操作路径:项目工作区 -> 监查稽查 / 稽查。 - -测试步骤: -1. 打开监查稽查页面。 -2. 查看列表或占位信息。 -3. 如存在记录,打开详情。 -4. 尝试新建或编辑稽查记录。 - -测试数据: -- 项目:`UAT-CTMS-角色功能验收项目` - -期望结果: -- QA 可访问质量稽查相关页面。 -- 若当前版本仅展示占位信息,记录为不适用或待实现。 -- QA 不应越权修改非授权数据。 - -通过标准: -- QA 稽查入口表现符合当前产品范围。 - -### 场景 9:权限边界验证 - -适用角色:QA -前置条件:已登录并进入项目。 -操作路径:多个模块。 - -测试步骤: -1. 尝试新建受试者。 -2. 尝试创建 AE/SAE。 -3. 尝试创建药品发货。 -4. 尝试维护合同费用。 -5. 尝试进入项目权限配置。 - -测试数据: -- 项目:`UAT-CTMS-角色功能验收项目` - -期望结果: -- QA 不能执行业务主数据写操作。 -- QA 不能配置权限或管理项目成员。 - -通过标准: -- QA 只读监督边界清晰。 - -## 4. QA 权限边界核查 - -| 检查项 | 期望结果 | -|---|---| -| 项目总览 | 可查看 | -| 审计日志查看 | 可执行 | -| 审计日志导出 | 可执行 | -| 受试者和访视 | 可查看,不可维护 | -| AE/SAE 和风险问题 | 可查看,不可维护 | -| 药品、物资、设备 | 可查看,不可维护 | -| 文档和附件 | 可查看,上传/删除受限 | -| 合同费用 | 默认不可维护 | -| 项目成员和权限配置 | 不可执行 | - -## 5. 完成标准 - -- QA 可完成质量核查和审计追溯。 -- QA 不能越权修改业务主数据。 -- QA 导出审计日志时有确认和留痕。 diff --git a/docs/guides/role-uat/08-权限与规则交叉测试清单.md b/docs/guides/role-uat/08-权限与规则交叉测试清单.md deleted file mode 100644 index ad886938..00000000 --- a/docs/guides/role-uat/08-权限与规则交叉测试清单.md +++ /dev/null @@ -1,133 +0,0 @@ -# 权限与规则交叉测试清单 - -## 1. 使用方式 - -本清单用于在各角色手册执行完成后做集中复核。执行人可以是 ADMIN、PM、QA 或测试负责人。每条规则至少记录一次实际测试结果,失败项必须登记缺陷。 - -结果填写: - -| 规则编号 | 执行角色 | 测试账号 | 结果 | 备注 | -|---|---|---|---|---| -| 例如 R-001 | ADMIN | `uat-admin@example.com` | 通过 / 失败 / 阻塞 | | - -## 2. 账号和登录规则 - -| 编号 | 规则 | 操作 | 期望结果 | -|---|---|---|---| -| R-001 | 启用用户可登录 | 使用启用状态测试账号登录 | 登录成功 | -| R-002 | 待审核用户不可登录 | 注册新用户但不审核,尝试登录 | 被拒绝,提示待审核或认证失败 | -| R-003 | 禁用用户不可登录 | ADMIN 禁用 `uat-no-role@example.com` 后尝试登录 | 被拒绝 | -| R-004 | 密码规则生效 | 创建或修改密码时输入弱密码 | 保存失败并提示规则 | -| R-005 | 退出登录生效 | 登录后退出,再访问项目页面 | 跳转登录或要求重新认证 | - -## 3. 项目成员和项目访问规则 - -| 编号 | 规则 | 操作 | 期望结果 | -|---|---|---|---| -| R-101 | 项目成员可进入项目 | PM/CRA/PV/医学审核/IMP/QA 选择 UAT 项目 | 可进入项目总览 | -| R-102 | 非项目成员不可进入项目 | `uat-no-role@example.com` 尝试访问 UAT 项目 | 被拒绝或看不到项目 | -| R-103 | 停用成员权限失效 | PM 或 ADMIN 临时移除某成员,再让该账号访问项目 | 不能继续访问项目 | -| R-104 | 恢复成员后权限恢复 | 重新添加成员并分配原角色 | 可重新进入项目 | -| R-105 | ADMIN 不依赖项目成员身份 | ADMIN 进入 UAT 项目 | 可访问项目内主要页面 | - -## 4. 项目锁定规则 - -| 编号 | 规则 | 操作 | 期望结果 | -|---|---|---|---| -| R-201 | 锁定后读操作保留 | ADMIN 锁定项目后,各角色查看项目总览 | 可查看 | -| R-202 | 锁定后写操作被阻止 | PM 保存立项配置或 CRA 新建受试者 | 被拒绝并提示项目锁定或不可操作 | -| R-203 | 锁定对 PM 生效 | PM 尝试费用、里程碑、受试者任一写操作 | 被拒绝 | -| R-204 | 锁定对普通项目角色生效 | CRA/PV/IMP 尝试各自写操作 | 被拒绝 | -| R-205 | 解锁后写操作恢复 | ADMIN 解锁项目后重复写操作 | 按角色权限恢复 | - -## 5. 权限矩阵规则 - -| 编号 | 规则 | 操作 | 期望结果 | -|---|---|---|---| -| R-301 | PM 项目内全权限 | PM 分别访问受试者、费用、药品、权限配置 | 可执行项目内写操作 | -| R-302 | ADMIN 可配置项目权限 | ADMIN 打开项目权限配置 | 可查看和保存权限矩阵 | -| R-303 | PM 可配置项目权限 | PM 打开项目权限配置 | 可查看和保存权限矩阵 | -| R-304 | 非 PM 不能配置权限 | CRA/PV/医学审核/IMP/QA 尝试进入权限配置 | 被拒绝或无入口 | -| R-305 | 权限关闭即时生效 | 关闭 CRA 创建受试者权限,CRA 尝试创建 | 被拒绝 | -| R-306 | 权限恢复即时生效 | 恢复 CRA 创建受试者权限,CRA 再次创建 | 可执行 | -| R-307 | 未配置覆盖时使用默认权限 | 清除某角色临时覆盖后复测默认动作 | 与默认权限一致 | - -## 6. 前置权限规则 - -系统部分写操作依赖前置读权限。测试时可由 ADMIN 临时关闭前置权限验证。 - -| 编号 | 规则 | 操作 | 期望结果 | -|---|---|---|---| -| R-401 | 创建受试者需要中心读权限 | 关闭 CRA `sites:read` 后尝试创建受试者 | 被拒绝 | -| R-402 | 更新受试者需要中心读权限 | 关闭 CRA `sites:read` 后尝试编辑受试者 | 被拒绝 | -| R-403 | 创建访视需要受试者读和中心读 | 关闭 CRA `subjects:read` 或 `sites:read` 后创建访视 | 被拒绝 | -| R-404 | 创建 AE/SAE 需要受试者读和中心读 | 关闭 PV 前置读权限后创建 AE | 被拒绝 | -| R-405 | 创建药品发货需要中心读权限 | 关闭 IMP `sites:read` 后创建发货 | 被拒绝 | -| R-406 | 恢复前置权限后操作恢复 | 恢复对应前置权限后重复操作 | 按角色权限恢复 | - -## 7. 模块读写规则 - -| 编号 | 模块 | 角色 | 期望结果 | -|---|---|---|---| -| R-501 | 项目总览 | PM/CRA/PV/医学审核/IMP/QA | 均可查看 | -| R-502 | 受试者 | PM/CRA | 可创建和更新 | -| R-503 | 受试者 | PV/医学审核/QA/IMP | 可查看或按权限受限,不可维护主数据 | -| R-504 | AE/SAE | PM/CRA/PV/医学审核 | 可创建或更新授权范围内信息 | -| R-505 | AE/SAE | IMP/QA | 默认只读或不可维护 | -| R-506 | 合同费用 | PM | 可维护 | -| R-507 | 合同费用 | CRA/IMP | 可查看,不可维护主数据 | -| R-508 | 合同费用 | PV/医学审核/QA | 默认不可维护 | -| R-509 | 药品流向 | PM/IMP | 可创建和更新 | -| R-510 | 药品流向 | CRA/QA | 可查看 | -| R-511 | 药品流向 | PV/医学审核 | 默认不可维护 | -| R-512 | 审计日志 | ADMIN/PM/QA | 可查看或导出授权范围内日志 | -| R-513 | 审计日志 | CRA/PV/医学审核/IMP | 默认不可查看系统审计 | -| R-514 | FAQ | PM | 可维护 | -| R-515 | FAQ | 其他项目成员 | 可查看,回复或协作按权限执行 | -| R-516 | 知识库笔记 | PM/CRA/PV/医学审核 | 可创建和编辑 | -| R-517 | 知识库笔记 | IMP/QA | 可查看,不可维护 | - -## 8. 删除和关闭类高风险规则 - -| 编号 | 规则 | 操作 | 期望结果 | -|---|---|---|---| -| R-601 | 受试者删除仅高权限 | CRA/PV/医学审核/IMP/QA 尝试删除受试者 | 被拒绝 | -| R-602 | 中心删除仅高权限 | 非 ADMIN/PM 尝试删除中心 | 被拒绝 | -| R-603 | 费用合同删除仅 PM | 非 PM 尝试删除合同 | 被拒绝 | -| R-604 | 药品发货删除仅高权限 | IMP 尝试删除药品发货 | 按权限矩阵执行,结果需记录 | -| R-605 | AE 关闭权限 | PV 关闭 AE,QA/IMP 尝试关闭 AE | PV 可执行,QA/IMP 被拒绝 | -| R-606 | 监查问题关闭权限 | CRA 关闭监查问题,QA/IMP 尝试关闭 | CRA 可执行,QA/IMP 被拒绝 | - -## 9. 审计日志规则 - -| 编号 | 规则 | 操作 | 期望结果 | -|---|---|---|---| -| R-701 | 用户创建留痕 | ADMIN 创建测试用户 | 审计日志有记录 | -| R-702 | 用户审核留痕 | ADMIN 审核注册用户 | 审计日志有记录 | -| R-703 | 项目创建留痕 | ADMIN 创建 UAT 项目 | 审计日志有记录 | -| R-704 | 中心创建和 CRA 绑定留痕 | ADMIN 创建中心并绑定 CRA | 审计日志有记录 | -| R-705 | 权限变更留痕 | ADMIN/PM 修改 CRA 权限 | 审计日志有记录 | -| R-706 | 项目锁定留痕 | ADMIN 锁定和解锁项目 | 审计日志有记录 | -| R-707 | 业务写操作留痕 | CRA 创建受试者、PV 创建 AE、IMP 创建发货 | 审计日志或业务历史有记录 | -| R-708 | 审计导出留痕 | ADMIN/QA 导出审计日志 | 导出动作本身有记录 | - -## 10. 数据校验规则 - -| 编号 | 规则 | 操作 | 期望结果 | -|---|---|---|---| -| R-801 | 必填字段校验 | 新建受试者时留空必填字段 | 保存失败并提示 | -| R-802 | 日期字段校验 | 输入明显非法日期或结束早于开始 | 保存失败或提示 | -| R-803 | 编号唯一性 | 重复创建 `UAT-SUBJ-001` | 保存失败或提示重复 | -| R-804 | 附件格式校验 | 上传不支持格式文件 | 被拒绝或提示格式不支持 | -| R-805 | 金额字段校验 | 合同金额输入负数或非数字 | 保存失败或提示 | -| R-806 | 数量字段校验 | 药品数量输入负数或非数字 | 保存失败或提示 | - -## 11. 完成标准 - -交叉测试完成需满足: - -- `R-001` 到 `R-307` 全部通过。 -- 前置权限规则至少覆盖 CRA、PV、IMP 三类角色。 -- 审计日志规则至少覆盖账号、项目、权限、业务写操作和导出。 -- 所有失败项均已登记缺陷。 -- 所有临时关闭的权限已恢复到 UAT 默认状态。 diff --git a/output/doc/role-uat/00-测试总说明.docx b/output/doc/role-uat/00-测试总说明.docx deleted file mode 100644 index 71570434..00000000 Binary files a/output/doc/role-uat/00-测试总说明.docx and /dev/null differ diff --git a/output/doc/role-uat/01-ADMIN-系统管理员测试手册.docx b/output/doc/role-uat/01-ADMIN-系统管理员测试手册.docx deleted file mode 100644 index cc059d64..00000000 Binary files a/output/doc/role-uat/01-ADMIN-系统管理员测试手册.docx and /dev/null differ diff --git a/output/doc/role-uat/02-PM-项目负责人测试手册.docx b/output/doc/role-uat/02-PM-项目负责人测试手册.docx deleted file mode 100644 index c26316e1..00000000 Binary files a/output/doc/role-uat/02-PM-项目负责人测试手册.docx and /dev/null differ diff --git a/output/doc/role-uat/03-CRA-临床监查员测试手册.docx b/output/doc/role-uat/03-CRA-临床监查员测试手册.docx deleted file mode 100644 index 78d83b22..00000000 Binary files a/output/doc/role-uat/03-CRA-临床监查员测试手册.docx and /dev/null differ diff --git a/output/doc/role-uat/04-PV-药物警戒测试手册.docx b/output/doc/role-uat/04-PV-药物警戒测试手册.docx deleted file mode 100644 index 486b9f8e..00000000 Binary files a/output/doc/role-uat/04-PV-药物警戒测试手册.docx and /dev/null differ diff --git a/output/doc/role-uat/05-MEDICAL_REVIEW-医学审核测试手册.docx b/output/doc/role-uat/05-MEDICAL_REVIEW-医学审核测试手册.docx deleted file mode 100644 index 046e474e..00000000 Binary files a/output/doc/role-uat/05-MEDICAL_REVIEW-医学审核测试手册.docx and /dev/null differ diff --git a/output/doc/role-uat/06-IMP-药品管理员测试手册.docx b/output/doc/role-uat/06-IMP-药品管理员测试手册.docx deleted file mode 100644 index 7db57d27..00000000 Binary files a/output/doc/role-uat/06-IMP-药品管理员测试手册.docx and /dev/null differ diff --git a/output/doc/role-uat/07-QA-质量稽查测试手册.docx b/output/doc/role-uat/07-QA-质量稽查测试手册.docx deleted file mode 100644 index 0e96a2ec..00000000 Binary files a/output/doc/role-uat/07-QA-质量稽查测试手册.docx and /dev/null differ diff --git a/output/doc/role-uat/08-权限与规则交叉测试清单.docx b/output/doc/role-uat/08-权限与规则交叉测试清单.docx deleted file mode 100644 index 79bfb13b..00000000 Binary files a/output/doc/role-uat/08-权限与规则交叉测试清单.docx and /dev/null differ