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