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