321 lines
9.5 KiB
Markdown
321 lines
9.5 KiB
Markdown
# 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 个项目角色可以开始业务验收。
|