Files
ctms/docs/guides/role-uat/02-PM-项目负责人测试手册.md
T
2026-05-21 17:25:25 +08:00

280 lines
7.4 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.
# 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 的关键写操作可被审计追溯。