# 20260815 优化批次 · 用户测试指南 > 面向测试人员的功能验证手册。覆盖 5 个批次共 43 项任务的完整测试用例。 > 测试环境:https://on.hr8ai.top/ > 测试账号:管理员 `13800000010 / 12345678` > 文档版本:2026-08-16 --- ## 目录 - [测试前准备](#测试前准备) - [第一批 P0 紧急(6 项)](#第一批-p0-紧急6-项) - [第二批 P1 高(14 项)](#第二批-p1-高14-项) - [第三批 P2 中(9 项)](#第三批-p2-中9-项) - [第四批 P3 规划(2 项)](#第四批-p3-规划2-项) - [第五批 电子签署(12 项)](#第五批-电子签署12-项) - [测试结果记录模板](#测试结果记录模板) --- ## 测试前准备 ### 账号与权限 | 角色 | 账号 | 用途 | |------|------|------| | 管理员 | `13800000010 / 12345678` | 全部管理端功能测试 | | 员工 | 通过管理员生成自动登录令牌 | 员工端签署功能测试 | ### 测试数据准备 1. **测试员工**:刘大壮(男,技术部,在职,月薪 ¥8500,有劳动合同) 2. **女员工**:李娜(女,技术部,在职)— 用于三期测试 3. **试用期员工**:需在花名册中确认有 `probationInfo.isProbation === true` 的员工 4. **合同即将到期员工**:合同结束日期距今 ≤ 30 天的员工 ### 通用测试步骤 1. 登录管理端:访问 https://on.hr8ai.top/ ,使用管理员账号登录 2. 每个测试用例完成后,记录实际结果(通过/失败/有偏差) 3. 发现问题时截图保存,记录复现步骤 --- ## 第一批 P0 紧急(6 项) ### TASK-001 · 草稿保存完整性 **前置条件**:花名册中有在职员工 **测试步骤**: 1. 进入「离职管理」→ 点击「新建解聘」(或从花名册操作栏点击「离职」→ 选择非主动离职类型) 2. 选择员工,填写至 step 3(补偿金) 3. 在补偿金区域手动调整任一分项金额 4. 切换到 step 4(工作交接),在交接清单的「备注」列填写文字(如"测试备注001") 5. 点击「保存草稿」 6. 退出向导,回到离职管理列表,点击该草稿重新进入 7. 检查 step 3 的补偿金调整记录和 step 4 的交接备注是否完整保留 **预期结果**: - ✅ 补偿金手动调整记录完整回读 - ✅ 工作交接清单的备注文字完整回读 - ✅ 合规检查的覆盖原因(如有填写)完整回读 --- ### TASK-002 · 手动调整补偿金分项后合计同步 **前置条件**:已进入解聘向导 step 3 **测试步骤**: 1. 查看系统预估补偿金(如 ¥50000) 2. 手动调整 severance(经济补偿金)从 ¥50000 改为 ¥45000 3. 观察「合计应付」是否实时更新为 ¥45000 4. 点击「保存草稿」→ 重新进入 → 检查合计是否仍为 ¥45000 5. 进入确认步骤,检查是否显示"系统预估 ¥X + 手动调整 ¥Y = 实际补偿 ¥Z" **预期结果**: - ✅ 调整分项后「合计应付」实时刷新 - ✅ 保存后回读合计值正确 - ✅ 确认页显示系统预估 + 手动调整 = 实际补偿 --- ### TASK-003 · 解聘驳回后修改内容更新 **前置条件**:已创建解聘草稿 **测试步骤**: 1. 创建解聘草稿(协商解除,补偿金 ¥50000) 2. 提交审批 3. 由管理员在审批列表中驳回该草稿 4. 回到草稿列表,点击该驳回草稿重新编辑 5. 修改解聘类型为「过错解除」,补偿金改为 ¥0 6. 保存 → 重新进入检查 **预期结果**: - ✅ 驳回后可重新编辑(不是新建) - ✅ 修改的解聘类型和补偿金正确覆盖 - ✅ 旧版本留有快照可查看 --- ### TASK-004 · 违法解除降低补偿金风险提醒 **前置条件**:已进入解聘向导 step 3 **测试步骤**: 1. 选择解聘类型为「违法解除」 2. 查看法定 2N 金额(如 ¥100000) 3. 手动将实际补偿金改为 ¥80000(低于 2N) 4. 观察是否弹出合规风险提醒 5. 不勾选「已知风险并继续」→ 尝试下一步 → 应被阻断 6. 勾选「已知风险并继续」→ 可进入下一步 7. 进入 Dashboard 或风险中心,检查是否生成风险项 **预期结果**: - ✅ 实际补偿金 < 2N 时强制弹出风险提醒 - ✅ 必须勾选「已知风险并继续」才能下一步 - ✅ Dashboard/风险中心出现对应风险项 --- ### TASK-005 · 合同结束日期早于开始日期校验 **前置条件**:无 **测试步骤**: 1. **前端校验**: - 进入「批量流程」(原用工办理)→ 选择「签订合同」 - 选择员工,填写合同开始日期 `2026-06-01`,结束日期 `2026-05-31` - 点击提交 → 应被阻断并提示"合同结束日期不能早于合同开始日期" 2. **续签校验**: - 选择「合同续签」→ 选择员工 - 填写新合同开始日期 `2026-06-01`,结束日期 `2026-05-31` - 提交 → 应被阻断 3. **正常日期**: - 开始日期 `2026-06-01`,结束日期 `2026-12-31` → 应通过 **预期结果**: - ✅ 倒置日期被前端阻断并提示 - ✅ 正常日期可提交 --- ### TASK-006 · 补偿金批次数据源 **前置条件**:有已审批通过的离职记录且含补偿金 **测试步骤**: 1. 进入「薪税管理」→ 批次管理 2. 创建新批次,类型选择「补偿金」(SEVERANCE) 3. 选择月份 → 查看预览页 4. 检查预览中每位员工的补偿金明细(补偿金/代通知金/赔偿金/合计) 5. 确认创建批次 6. 检查批次数据是否与离职草稿的补偿金一致 **预期结果**: - ✅ 预览页展示补偿金明细 - ✅ 数据来源为离职草稿的 `compensationBreakdown.grandTotal`(非工资数据) - ✅ 仅包含已审批通过且有补偿金的离职员工 --- ## 第二批 P1 高(14 项) ### TASK-007 · 离职日期联动社保/公积金截止月 **前置条件**:系统设置中 `socialInsCutoffDay` 默认为 15 **测试步骤**: 1. 创建离职草稿,离职日期填写 `2026-08-10`(10 日 < 15 日) 2. 检查社保截止月是否自动填为 `2026-07` 3. 检查公积金截止月是否自动填为 `2026-07` 4. 修改离职日期为 `2026-08-20`(20 日 > 15 日) 5. 检查社保截止月是否自动变为 `2026-08` 6. 手动修改社保截止月 → 应提示"与自动推导不一致" **预期结果**: - ✅ 15 日前离职 → 截止月 = 离职月 - 1 - ✅ 15 日后离职 → 截止月 = 离职月 - ✅ 手动覆盖时有提示 --- ### TASK-008 · 合规检查软阻断 + 待办 **前置条件**:已进入解聘向导 step 2(合规检查) **测试步骤**: 1. 在合规检查步骤,不勾选「已支付经济补偿金」 2. 点击下一步 → 应可进入(不硬阻断) 3. 完成解聘草稿保存 4. 进入 Dashboard → 检查是否出现待办"XX 解聘未支付经济补偿金" 5. 检查法定禁止情形(如孕期女职工)是否仍硬阻断 **预期结果**: - ✅ 未勾选 required 项可下一步(软阻断) - ✅ Dashboard 出现对应待办 - ✅ 法定禁止情形仍硬阻断 --- ### TASK-009 · 补偿月数支持 N / N+1 / 2N / 其他 **前置条件**:已进入解聘向导 step 3 **测试步骤**: 1. 查看系统默认推荐月数 N(如 N=3) 2. 将补偿月数下拉改为「N+1」→ 月数变为 4 → 补偿金实时重算 3. 改为「2N」→ 月数变为 6 → 补偿金重算 4. 改为「其他」→ 输入 5 + 填写说明 → 补偿金重算 5. 保存草稿 → 重新进入 → 检查月数模式是否保留 **预期结果**: - ✅ 下拉支持 N / N+1 / 2N / 其他 - ✅ 切换后补偿金实时重算 - ✅ 「其他」需填写说明 - ✅ 保存后月数模式可回读 --- ### TASK-010 · 计算基数支持多种来源 **前置条件**:已进入解聘向导 step 3 **测试步骤**: 1. 默认计算基数为「近 12 月平均工资」(如 ¥10000) 2. 切换为「合同工资」(如 ¥8000)→ 补偿金实时重算 3. 切换为「其他」→ 手动输入 ¥12000 + 说明 → 重算 4. 检查近 12 月平均工资是否显示三倍社平封顶后的值 5. 保存草稿 → 重新进入 → 检查基数来源是否保留 **预期结果**: - ✅ 下拉支持 3 种来源 - ✅ 切换后补偿金实时重算 - ✅ 基数来源可回读 --- ### TASK-011 · 工作交接软阻断 + 待办 **前置条件**:已进入解聘向导 step 4(工作交接) **测试步骤**: 1. 不勾选「工作交接完成」「设备归还」「权限收回」三项 2. 点击下一步 → 应可进入(不硬阻断) 3. 检查确认页是否提示"3 项未完成" 4. 保存草稿 → 进入 Dashboard → 检查是否出现待办 **预期结果**: - ✅ 未完成交接可下一步(软阻断) - ✅ 确认页强提示未完成项 - ✅ Dashboard 出现待办 --- ### TASK-012 · 花名册操作栏离职入口 **前置条件**:花名册中有在职员工 **测试步骤**: 1. 进入「花名册」 2. 点击某员工操作栏的「离职」按钮 3. 检查是否弹出解聘类型选择(协商/过错/非过错/裁员/到期/违法/主动离职) 4. 选择「协商解除」→ 应跳转解聘向导,员工和类型已预填 5. 选择「主动离职」→ 应走快速离职流程 6. 进入「离职管理」列表页 → 检查是否已移除「新建解聘」按钮 **预期结果**: - ✅ 操作栏「离职」按钮弹出类型选择 - ✅ 非主动离职跳转向导并预填 - ✅ 主动离职走快速流程 - ✅ 列表页无「新建解聘」按钮 --- ### TASK-013 · 合同续签开始日期自动推导 **前置条件**:员工有已签合同且结束日期明确 **测试步骤**: 1. 进入「批量流程」→ 选择「合同续签」 2. 选择员工(如刘大壮,合同结束日期 2025-02-27) 3. 检查新合同开始日期是否自动填为 `2025-02-28`(结束日期 + 1 天) 4. 手动修改开始日期 → 应提示"建议开始日期为 YYYY-MM-DD" **预期结果**: - ✅ 新合同开始日期默认 = 上一份合同结束日期 + 1 天 - ✅ 偏离时有提示 - ✅ 无历史合同时默认为今天 --- ### TASK-014 · 添加员工年龄合规筛查 **前置条件**:无 **测试步骤**: 1. 进入「花名册」→ 点击「添加员工」 2. 输入身份证号 `110105201501011234`(出生 2015-01-01,11 岁) 3. 检查是否阻断提示"禁止使用童工(未满 16 周岁)" 4. 输入身份证号 `110105196501011234`(出生 1965-01-01,61 岁男) 5. 检查是否提示"已达法定退休年龄" → 确认后可继续录入 **预期结果**: - ✅ 童工(< 16 岁)阻断保存 - ✅ 退休年龄提示但允许确认后录入 --- ### TASK-015 · 编辑入职日期后状态联动 **前置条件**:花名册中有在职员工 **测试步骤**: 1. 进入花名册 → 点击某在职员工查看详情 2. 编辑入职日期改为下月 1 日(未来日期) 3. 检查是否弹出确认窗"入职日期变更将导致状态从 在职 变为 待入职,是否继续?" 4. 确认 → 状态应变为「待入职」 5. 再次编辑入职日期改为今天 6. 检查是否弹窗确认 → 确认后状态变为「在职」 **预期结果**: - ✅ 入职日期 > 今天 → 状态变「待入职」+ 二次确认 - ✅ 入职日期 ≤ 今天 → 状态变「在职」+ 二次确认 --- ### TASK-016 · 花名册操作栏转正按钮 **前置条件**:花名册中有试用期员工 **测试步骤**: 1. 进入花名册 2. 找到试用期员工(状态标注试用期) 3. 检查操作栏是否显示「转正」按钮(CheckCircle 图标) 4. 非试用期员工不应显示转正按钮 5. 点击「转正」→ 弹出转正 Modal 6. 填写转正日期 + 转正薪资 → 确认 7. 检查员工状态是否变为正式 **预期结果**: - ✅ 仅试用期员工显示转正按钮 - ✅ 转正 Modal 含日期和薪资 - ✅ 转正后状态变为正式 --- ### TASK-017 · 转正薪资回写 + 合同一致性校验 **前置条件**:试用期员工有合同记录 **测试步骤**: 1. 试用期薪资 ¥8000 的员工,转正填写 ¥10000 2. 确认转正 3. 回到花名册 → 检查员工薪资是否更新为 ¥10000 4. 查看薪资变更记录是否显示"试用期 ¥8000 → 转正 ¥10000" 5. 如合同薪资为 ¥9000 → 检查是否提示"转正薪资 ¥10000 与合同薪资 ¥9000 不一致,是否发起合同变更?" **预期结果**: - ✅ 转正后员工薪资同步更新 - ✅ 薪资变更记录可查 - ✅ 与合同薪资不一致时提示 --- ### TASK-018 · 合同变更/续签按员工过滤合同列表 **前置条件**:员工有已签合同 **测试步骤**: 1. 进入「批量流程」→ 选择「合同变更」 2. 选择员工 A → 点击原合同下拉 3. 检查下拉是否仅显示员工 A 的合同(非全部合同) 4. 下拉项应显示合同名称 + 起止日期 + 状态 5. 选择「合同续签」→ 选择员工 A → 原合同下拉同样仅显示员工 A 的合同 **预期结果**: - ✅ 合同下拉按员工过滤 - ✅ 不再需要手动输入 UUID - ✅ 下拉显示完整合同信息 --- ### TASK-019 · 男职工无法选择三期 **前置条件**:花名册中有男职工和女职工 **测试步骤**: 1. 进入「特殊状态」→ 点击新增 2. 选择男职工(如刘大壮) 3. 检查类型下拉中「三期」选项是否置灰或移除 4. 置灰时应提示"三期仅适用于女性员工" 5. 选择女职工(如李娜)→ 「三期」选项应可选 6. 尝试通过 API 直接传男职工 + PREGNANCY → 应返回 400 **预期结果**: - ✅ 男职工不可选三期 - ✅ 女职工可选三期 - ✅ 后端有双保险校验 --- ## 第三批 P2 中(9 项) ### TASK-020 · "劳动合同"调整为"用工关系" **测试步骤**: 1. 全域检查面向用户的菜单、标题、提示文案 2. 侧边栏、花名册、合同页面中"劳动合同"应改为"用工关系"或"用工协议" 3. 法律文书模板中的"劳动合同"保持不变(法定术语) 4. 进入合同详情 → 检查是否有「合同分类」字段(劳动合同/劳务协议/实习协议/灵活用工) **预期结果**: - ✅ 面向用户文案已替换 - ✅ 法律模板保持不变 - ✅ 合同分类字段存在 --- ### TASK-021 · 费用结算新增剩余年假天数 **前置条件**:已进入解聘向导 step 3 **测试步骤**: 1. 在费用结算区找到「剩余年假天数」字段 2. 输入 5 天 3. 检查是否自动计算未休年假折算工资 4. 公式:日工资 = 月工资 / 21.75,折算 = 日工资 × 天数 × 300% 5. 如月工资 ¥10000 → 日工资 ¥460 → 折算 ¥6900 6. 检查折算金额是否计入「合计应付」 7. 确认页和文书中是否展示年假折算明细 **预期结果**: - ✅ 年假天数可录入 - ✅ 按 300% 规则折算 - ✅ 计入合计应付 - ✅ 确认页展示明细 --- ### TASK-022 · 身份证号全域改为"证件号码" **测试步骤**: 1. 全域搜索面向用户的 label "身份证号" 2. 花名册添加/编辑员工、批量流程、特殊状态等页面 → label 应为"证件号码" 3. 检查是否有证件类型下拉(身份证/护照/港澳台通行证/其他) 4. 选择「身份证」→ 输入 18 位号码 → 保留校验 + 自动推导性别/年龄 5. 选择「护照」→ 输入非 18 位号码 → 应跳过 18 位校验 6. 搜索框 placeholder 应同步更新 **预期结果**: - ✅ 全域 label 改为"证件号码" - ✅ 证件类型下拉可用 - ✅ 非身份证类型跳过 18 位校验 --- ### TASK-023 · 录入手机号查重 **前置条件**:花名册中已有员工手机号 **测试步骤**: 1. 进入花名册 → 添加员工 2. 输入已存在的手机号(如某员工的手机号) 3. 检查是否提示"该手机号已用于 XX 人员" 4. 允许继续保存(一人多号场景) 5. 输入不存在的手机号 → 无提示 6. 输入格式错误的手机号(非 11 位)→ 格式校验提示 **预期结果**: - ✅ 已存在手机号有提示 - ✅ 允许继续保存 - ✅ 格式校验生效 --- ### TASK-024 · 花名册操作栏开具证明 **前置条件**:花名册中有在职员工 **测试步骤**: 1. 进入花名册 2. 点击某员工操作栏的「证明」按钮(FileText 图标) 3. 检查是否弹出证明类型选择(收入证明/离职证明/在职证明) 4. 选择「收入证明」→ 填写信息 → 生成 5. 检查是否支持下载/打印 **预期结果**: - ✅ 操作栏有「证明」按钮 - ✅ 弹出类型选择 - ✅ 生成后可下载 --- ### TASK-025 · 花名册操作栏合同续签 **前置条件**:有合同即将到期(≤ 30 天)或已到期的员工 **测试步骤**: 1. 进入花名册 2. 找到合同即将到期的员工 3. 检查操作栏是否显示「续签」按钮 4. 合同未到期的员工不应显示续签按钮 5. 点击「续签」→ 应跳转续签流程,员工已预填 6. 检查新合同开始日期是否自动推导 **预期结果**: - ✅ 仅即将到期/已到期员工显示续签按钮 - ✅ 点击后员工已预填 - ✅ 开始日期自动推导 --- ### TASK-026 · 花名册多选批量转正 **前置条件**:花名册中有至少 2 名试用期员工 **测试步骤**: 1. 进入花名册 → 勾选多名试用期员工 2. 检查批量操作栏是否出现「批量转正」按钮 3. 点击「批量转正」→ 弹窗填写统一转正日期 + 转正薪资 4. 确认 → 检查所有选中员工状态是否均变为正式 5. 混选试用期 + 非试用期员工 → 批量转正仅对试用期员工生效 **预期结果**: - ✅ 多选后显示批量转正按钮 - ✅ 统一填写日期和薪资 - ✅ 仅试用期员工生效 --- ### TASK-027 · 花名册多选批量开具证明 **前置条件**:花名册中有多名员工 **测试步骤**: 1. 进入花名册 → 勾选多名员工 2. 检查批量操作栏是否出现「批量开具证明」按钮 3. 点击 → 选择证明类型(在职/收入/离职) 4. 确认 → 批量生成 5. 检查生成数量是否与选中人数一致 6. 检查是否支持批量下载或逐个下载 **预期结果**: - ✅ 多选后显示批量证明按钮 - ✅ 选择类型后批量生成 - ✅ 生成数量正确 --- ### TASK-028 · 去掉用工办理菜单 **测试步骤**: 1. 查看左侧侧边栏 → 应无「用工办理」菜单项 2. 确认各流程入口已下沉到花名册操作栏: - 转正 → 操作栏「转正」按钮 - 续签 → 操作栏「续签」按钮 - 变更 → 操作栏或合同页面 - 证明 → 操作栏「证明」按钮 - 入职 → 花名册「添加员工」 3. 直接访问 `/work-process` 路由 → 页面仍可访问(不丢数据) 4. 面包屑显示「批量流程」而非「用工办理」 **预期结果**: - ✅ 侧边栏无「用工办理」 - ✅ 所有流程入口已下沉 - ✅ WorkProcess 页面仍可访问 - ✅ 面包屑文案已更新 --- ## 第四批 P3 规划(2 项) ### TASK-029 · 组织架构 + 审批流 **前置条件**:管理员权限 **测试步骤**: 1. **部门管理**: - 进入「系统设置」→「组织架构」 - 创建部门"技术部" → 创建子部门"前端组" - 编辑部门名称 → 删除无关联员工的部门 2. **岗位管理**: - 在组织架构中创建岗位"前端工程师",归属"技术部" - 填写编制人数、职级 - 编辑/删除岗位 3. **员工关联**: - 花名册编辑员工 → 关联部门和岗位 - 设置直属上级 4. **审批流配置**: - 配置休假审批流:步骤1 直属上级 → 步骤2 部门负责人 - 配置离职审批流:步骤1 HR 审批 5. **审批流执行**: - 提交休假申请 → 直属上级审批 → 部门负责人审批 → 通过 **预期结果**: - ✅ 部门树形管理可用 - ✅ 岗位字典可增删改查 - ✅ 员工可关联部门/岗位/上级 - ✅ 审批流可配置最多 3 步 - ✅ 现有流程可接入审批流 --- ### TASK-030 · 客服工作台 **前置条件**:需有客服角色账号(SUPPORT) **测试步骤**: 1. **客服登录**: - 访问客服独立登录页 → 使用客服账号登录 - 检查独立侧边栏(非管理端侧边栏) 2. **工单管理**: - 查看工单列表 → 创建工单 → 回复工单 → 关闭工单 - 转派工单给其他客服 3. **客户会话**: - 查看会话列表 → 发送消息 → 未读消息提醒 4. **租户数据穿透**: - 选择租户 → 以只读模式查看该租户花名册/合同/薪税/风险 - 检查请求头是否带 `X-Support-Tenant-Id` 5. **协助操作**: - 代客户重置密码 - 代客户发起流程 6. **AI 辅助**: - 客服侧 AI 问答 → 检查会话隔离 7. **操作日志**: - 查看客服操作日志 → 检查留痕审计 **预期结果**: - ✅ 客服独立登录和侧边栏 - ✅ 工单完整生命周期 - ✅ 租户数据穿透只读 - ✅ AI 会话隔离 - ✅ 操作留痕 --- ## 第五批 电子签署(12 项) ### TASK-031 · 发起签署 + 模板自动渲染 **前置条件**:管理端登录 **测试步骤**: 1. 进入「电子签署」页面 2. 点击「发起签署」 3. 选择员工(如刘大壮) 4. 选择场景「劳动合同」 5. 检查文件标题是否自动填充 6. 提交创建 7. 在列表中找到该记录 → 点击查看详情 8. 检查文件内容是否已从模板自动渲染 9. 检查初始状态是否为「待签署」(PENDING) 10. 检查签署方式是否为「电子签署」(ELECTRONIC) **预期结果**: - ✅ 发起签署时校验组织开关 - ✅ 文件内容自动从模板渲染 - ✅ 创建时自动生成证据链(发起签署事件) - ✅ 状态为 PENDING,签署方式为 ELECTRONIC --- ### TASK-032 · 员工端验证码签署 **前置条件**:管理端已发起签署,员工有待签文件 **测试步骤**: 1. 获取员工端自动登录令牌(管理端生成) 2. 员工端登录 → 进入「我的签署」 3. 查看待签文件列表 4. 点击某条待签记录 → 查看文件内容 5. 点击「获取验证码」 6. 开发模式下验证码直接显示(如 326292) 7. 输入验证码 → 点击「确认签署」 8. 检查签署状态是否变为「已完成」(COMPLETED) 9. 输入错误验证码 → 应被拒绝 10. 连续 5 次错误 → 应限制签署 **预期结果**: - ✅ 验证码发送成功 - ✅ 正确验证码签署成功 - ✅ 错误验证码被拒绝 - ✅ 5 次错误后限制 - ✅ 60 秒限流 --- ### TASK-033 · 签署全流程证据链 **前置条件**:完成 TASK-031 和 TASK-032 的完整签署流程 **测试步骤**: 1. 管理端进入签署记录详情页 2. 查看证据链时间线 3. 检查事件数量和类型: - 事件 1:发起签署(创建时) - 事件 2:验证码发送(员工端获取验证码时) - 事件 3:签署完成(含 IP/UA/时间戳/验证码/签署人) 4. 取消一条签署 → 检查证据链是否追加「取消签署」事件 5. 检查每个事件是否包含时间戳、IP、操作人 6. 检查证据链是否包含 hash 值用于完整性校验 **预期结果**: - ✅ 完整签署流程证据链有 3 个事件 - ✅ 取消签署追加第 4 个事件 - ✅ 每个事件含时间戳/IP/操作人 - ✅ hash 值存在 --- ### TASK-034 · 签署完成回写合同 **前置条件**:签署记录关联了合同 ID **测试步骤**: 1. 管理端发起劳动合同签署(关联员工合同) 2. 员工端完成验证码签署 3. 回到管理端 → 进入花名册 → 查看该员工合同 4. 检查合同 `signMethod` 是否变为 `ELECTRONIC` 5. 检查合同 `attachmentName` 是否包含证据摘要(IP/UA/时间戳) **预期结果**: - ✅ 签署完成后合同 signMethod 回写为 ELECTRONIC - ✅ attachmentName 包含证据摘要 --- ### TASK-035 · 组织电子签开关校验 **前置条件**:系统设置中电子签开关默认关闭 **测试步骤**: 1. 发起签署,场景选择「规章制度」(POLICY) 2. 组织未开启 `esignPolicyEnabled` → 应返回错误"组织未开启规章制度电子签功能" 3. 发起签署,场景选择「工资条」(PAYSLIP) 4. 组织未开启 `esignPayslipEnabled` → 应返回错误 5. 发起签署,场景选择「劳动合同」(CONTRACT) 6. CONTRACT 场景不受开关限制 → 应通过 7. 进入系统设置 → 开启 `esignPolicyEnabled` → 再发起 POLICY 签署 → 应通过 **预期结果**: - ✅ POLICY/PAYSLIP/ONBOARDING 场景受开关限制 - ✅ CONTRACT/RESIGNATION 场景不受限制 - ✅ 未开启时返回明确错误提示 --- ### TASK-036 · scene 关联模板自动填充 + 过期处理 **测试步骤**: 1. 发起签署 → 选择场景「劳动合同」→ 检查文件标题是否自动填充 2. 选择场景「离职协议」→ 检查文件标题自动填充 3. 创建一条 PENDING 签署记录 → 修改数据库 `expiresAt` 为过去时间 4. 刷新列表 → 检查该记录是否自动标记为「已过期」(EXPIRED) **预期结果**: - ✅ 场景选择后自动填充默认标题 - ✅ 过期 PENDING 自动标记为 EXPIRED - ✅ 过期时间默认 30 天 --- ### TASK-037 · 管理端发起签署 UI **测试步骤**: 1. 进入「电子签署」页面 2. 检查发起签署表单是否包含: - 场景选择(5 种:劳动合同/离职协议/规章制度/工资条/入职文件) - 员工选择 - 文件标题(场景选择后自动填充) 3. 创建签署记录 → 点击查看详情 4. 检查详情页是否包含: - 文件内容预览 - 证据链时间线 - 签署流程说明(6 步流程图) 5. 检查列表页是否有「签署方式」列 **预期结果**: - ✅ 5 种场景可选 - ✅ 场景选择后标题自动填充 - ✅ 详情页含文件预览和证据链 - ✅ 列表含签署方式列 --- ### TASK-038 · 员工端签署 UI **前置条件**:员工端有待签文件 **测试步骤**: 1. 员工端登录 → 进入「我的签署」 2. 检查待签文件列表 3. 点击某条记录 → 检查文件内容预览 4. 点击「获取验证码」→ 检查 60 秒倒计时 5. 输入验证码 → 确认签署 6. 检查签署完成状态展示 7. 检查线下手签记录是否只读展示(含扫描件链接) **预期结果**: - ✅ 验证码签署流程完整 - ✅ 60 秒倒计时限制 - ✅ 文件内容可预览 - ✅ 线下手签记录只读展示 --- ### TASK-039 · 线下手签完整流程 **前置条件**:管理端登录 **测试步骤**: 1. 进入「电子签署」页面 2. 点击「线下手签登记」 3. 选择员工 4. 填写签署日期、签署地点、见证人姓名、见证人电话 5. 上传扫描件(PDF/图片) 6. 提交登记 7. 检查记录状态是否直接为「已完成」(COMPLETED) 8. 检查签署方式是否为「线下手签」(PAPER) 9. 查看证据链 → 检查是否记录线下手签事件 10. 员工端登录 → 检查线下手签记录是否可见且含扫描件链接 **预期结果**: - ✅ 线下手签登记表单完整 - ✅ 登记后状态为 COMPLETED,方式为 PAPER - ✅ 证据链记录 - ✅ 员工端可查看扫描件 --- ### TASK-040 · 花名册操作自动创建电子签署 **前置条件**:花名册中有在职员工 **测试步骤**: 1. **主动离职**: - 花名册点击员工「离职」→ 选择「主动离职」 - 完成离职草稿创建 - 进入「电子签署」→ 检查是否自动创建「离职协议」签署记录 - 员工端登录 → 检查是否可见该签署记录 2. **公司解聘执行**: - 创建解聘草稿 → 审批通过 → 执行解聘 - 检查是否自动创建离职协议签署记录 **预期结果**: - ✅ 主动离职自动创建离职协议签署 - ✅ 公司解聘执行后自动创建 - ✅ 员工端可见自动创建的签署记录 - ✅ 自动创建失败不阻断主流程 --- ### TASK-041 · 通用签署方式选择弹窗 + 花名册 4 项联动 **前置条件**:花名册中有可操作的员工 **测试步骤**: 1. **重新入职**: - 花名册找到已离职员工 → 操作「重新入职」 - 操作成功后 → 检查是否弹出签署方式选择(电子签/线下手签/稍后处理) - 选择「电子签」→ 检查是否自动创建劳动合同签署记录 - 选择「线下手签」→ 检查是否跳转签署页面且信息已预填 - 选择「稍后处理」→ 跳过 2. **合同续签**: - 花名册合同即将到期员工 → 操作「续签」 - 操作成功后 → 弹窗选择签署方式 - scene 应为 CONTRACT,文件标题为续签劳动合同 3. **薪酬变更**: - 花名册员工 → 操作「薪酬变更」 - 操作成功后 → 弹窗选择签署方式 - scene 应为 POLICY,文件标题为薪酬调整确认书 4. **调岗调动**: - 花名册员工 → 操作「调岗调动」 - 操作成功后 → 弹窗选择签署方式 - scene 应为 POLICY,文件标题为调岗确认书 5. **ESign 页面 URL 参数**: - 选择「线下手签」后跳转 ESign 页面 - 检查 URL 是否包含预填参数 - 检查线下手签 Modal 是否自动打开且信息已预填 **预期结果**: - ✅ 4 项操作成功后均弹出签署方式选择 - ✅ 三种选择(电子签/线下手签/稍后处理)均可正确处理 - ✅ ESign 页面支持 URL 参数自动打开线下手签登记 --- ### TASK-042 · 转正弹窗显示原薪资 + 薪资变化联动签署 **前置条件**:花名册中有试用期员工 **测试步骤**: 1. **薪资有变化**: - 试用期员工(薪资 ¥8000)→ 点击「转正」 - 检查转正 Modal 是否显示原薪资(¥8000) - 检查转正薪资字段是否默认填入 ¥8000 - 修改转正薪资为 ¥10000 - 检查是否提示"将发起薪酬调整确认书签署" - 确认转正 → 操作成功后弹出签署方式选择 - 检查签署文件标题是否为"转正薪酬调整确认书" - 检查备注是否记录"¥8000 → ¥10000" 2. **薪资无变化**: - 试用期员工(薪资 ¥8000)→ 点击「转正」 - 不修改转正薪资(保持 ¥8000) - 确认转正 → 仅显示"转正已提交",不弹窗 **预期结果**: - ✅ 转正 Modal 显示原薪资 - ✅ 转正薪资默认填入原薪资 - ✅ 薪资变化时提示将发起签署 - ✅ 薪资有变化时弹窗选择签署方式 - ✅ 薪资未变化时不弹窗 - ✅ 签署文件标题和备注正确 --- ## 测试结果记录模板 ### 按任务记录 | 任务编号 | 任务名称 | 测试结果 | 实际情况说明 | 测试人 | 测试日期 | |---------|---------|---------|-------------|-------|---------| | TASK-001 | 草稿保存完整性 | ✅ 通过 / ❌ 失败 | | | | | TASK-002 | 补偿金合计同步 | ✅ 通过 / ❌ 失败 | | | | | ... | ... | ... | | | | ### 问题反馈模板 ``` 问题编号:BUG-001 对应任务:TASK-XXX 问题描述:(详细描述) 复现步骤: 1. ... 2. ... 3. ... 预期结果:... 实际结果:... 截图:(附截图) 严重程度:阻断 / 主要 / 次要 / 建议 测试人: 测试日期: ``` ### 测试汇总 | 批次 | 任务数 | 通过 | 失败 | 有偏差 | 通过率 | |------|--------|------|------|--------|--------| | P0 紧急 | 6 | | | | | | P1 高 | 14 | | | | | | P2 中 | 9 | | | | | | P3 规划 | 2 | | | | | | 电子签署 | 12 | | | | | | **合计** | **43** | | | | | --- ## 注意事项 1. **测试顺序**:建议按批次顺序测试,因部分任务有依赖关系(如 TASK-002 依赖 TASK-001) 2. **数据清理**:测试完成后请清理测试数据,避免影响生产环境 3. **电子签署验证码**:开发模式下验证码直接返回,生产环境需对接短信服务商 4. **线下手签扫描件**:测试上传的扫描件存储在服务器 `uploads/paper-sign/` 目录 5. **历史脏数据**:部分历史数据可能存在倒置日期、男职工三期等问题,属预期内 6. **法律效力提示**:当前电子签署证据链(IP/UA/时间戳/验证码)为初步举证材料,完整法律效力需配合第三方 CA 机构