Files
ctms/docs/guides/role-uat/01-ADMIN-系统管理员测试手册.md
T
2026-05-21 17:25:25 +08:00

321 lines
9.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 个项目角色可以开始业务验收。