5. 审批流功能测试应该怎么设计?
审批流是很多企业后台系统的核心功能,比如请假、报销、采购、合同、工单、权限申请等。
这类功能看起来只是“提交、审批、驳回”,但真实测试时非常容易漏场景。
一、先梳理审批流角色
审批流测试第一步不是点按钮,而是确认有哪些角色。
常见角色包括:
- 申请人;
- 直属上级;
- 部门负责人;
- 财务;
- 管理员;
- 抄送人;
- 代理审批人。
不同角色能看到的数据、能操作的按钮、能审批的节点都不一样。
二、再梳理审批状态
审批流的核心是状态变化。
常见状态包括:
- 草稿;
- 待提交;
- 审批中;
- 已通过;
- 已驳回;
- 已撤回;
- 已作废。
测试时要关注:
- 状态是否正确流转;
- 非法状态是否能操作;
- 前端展示和数据库状态是否一致;
- 历史审批记录是否完整。
三、提交审批要测前置条件
提交前要验证:
- 必填项是否完整;
- 附件是否符合要求;
- 金额是否超过限制;
- 申请人是否有提交权限;
- 审批人是否配置正确;
- 当前单据状态是否允许提交。
比如报销单没有发票附件是否允许提交,这就是业务规则。
四、审批操作要覆盖通过、驳回、转交和撤回
审批节点常见操作包括:
- 审批通过;
- 审批驳回;
- 转交他人;
- 加签;
- 撤回;
- 作废;
- 评论或备注。
每个操作都要看:
- 当前角色是否有权限;
- 当前状态是否允许操作;
- 操作后流向哪个节点;
- 审批记录是否生成;
- 消息通知是否发送。
五、多级审批要重点测流转规则
多级审批不是简单一个接一个。
要关注:
- 一级审批通过后是否进入二级;
- 一级驳回后是否回到申请人;
- 二级驳回后是否退回上一级还是申请人;
- 金额不同是否走不同审批链;
- 部门不同是否匹配不同审批人;
- 审批人为空时如何处理。
审批流最容易出问题的地方,就是规则分支。
六、权限绕过是高风险点
审批流必须关注后端权限。
常见风险包括:
- 非审批人通过接口直接审批;
- 申请人自己审批自己的单据;
- 已通过单据仍可修改;
- 已撤回单据仍可审批;
- 通过修改 URL 查看别人单据;
- 普通用户调用管理员审批接口。
面试时能说到接口权限校验,会非常加分。
七、通知和审批记录也要测
审批流通常会产生消息。
要验证:
- 提交后审批人是否收到通知;
- 审批后申请人是否收到结果;
- 抄送人是否收到抄送;
- 消息链接是否能打开正确单据;
- 审批记录是否记录操作人、时间、意见和节点。
审批记录是后续追溯的关键,不能只看当前状态。
八、面试回答模板
可以这样回答:
测审批流时,我会先梳理角色、状态和节点规则。角色上要覆盖申请人、审批人、管理员、抄送人等权限差异;状态上要验证草稿、审批中、已通过、已驳回、已撤回等状态流转;流程上覆盖提交、通过、驳回、撤回、转交、加签等操作;同时重点验证多级审批规则、金额分支、审批人为空、非法状态操作和接口权限绕过。最后会检查审批记录、消息通知、数据库状态和页面展示是否一致。
这类回答会比“提交审批、审批通过、审批驳回”更完整。
九、下一步建议
审批流建议准备一个真实业务例子,比如报销审批或请假审批。
重点练习:
- 状态流转;
- 角色权限;
- 多级审批规则;
- 驳回和撤回逻辑。
配套刷题:

