chore: 移除已生成的角色 UAT 文档并加入忽略规则
将 docs/guides/role-uat 与 output/doc/role-uat 加入 .gitignore, 避免重复提交由脚本生成的角色 UAT 测试手册和导出文档。 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -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/
|
||||
|
||||
@@ -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 每个角色至少完成主流程和权限边界测试。
|
||||
- 权限与规则交叉清单中高风险规则全部通过。
|
||||
- 所有失败项均已登记,阻塞项已明确责任和后续处理方式。
|
||||
- 测试负责人确认不再有影响继续验收的环境问题。
|
||||
@@ -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 个项目角色可以开始业务验收。
|
||||
@@ -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 的关键写操作可被审计追溯。
|
||||
@@ -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 写操作可被审计追溯。
|
||||
@@ -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 关键动作可被审计追溯。
|
||||
@@ -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. 完成标准
|
||||
|
||||
- 医学审核可完成医学信息查看和协作。
|
||||
- 医学审核不能越权维护业务主数据。
|
||||
- 医学审核关键写操作可被审计追溯。
|
||||
@@ -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 关键写操作可被审计追溯。
|
||||
@@ -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 导出审计日志时有确认和留痕。
|
||||
@@ -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 默认状态。
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user