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