我的测试学习站TEST LEARNING HUB
开始学习
首页/精华文章/5. 审批流功能测试应该怎么设计

5. 审批流功能测试应该怎么设计?

审批流是很多企业后台系统的核心功能,比如请假、报销、采购、合同、工单、权限申请等。

这类功能看起来只是“提交、审批、驳回”,但真实测试时非常容易漏场景。

一、先梳理审批流角色

审批流测试第一步不是点按钮,而是确认有哪些角色。

常见角色包括:

  • 申请人;
  • 直属上级;
  • 部门负责人;
  • 财务;
  • 管理员;
  • 抄送人;
  • 代理审批人。

不同角色能看到的数据、能操作的按钮、能审批的节点都不一样。

二、再梳理审批状态

审批流的核心是状态变化。

常见状态包括:

  • 草稿;
  • 待提交;
  • 审批中;
  • 已通过;
  • 已驳回;
  • 已撤回;
  • 已作废。

测试时要关注:

  • 状态是否正确流转;
  • 非法状态是否能操作;
  • 前端展示和数据库状态是否一致;
  • 历史审批记录是否完整。

三、提交审批要测前置条件

提交前要验证:

  • 必填项是否完整;
  • 附件是否符合要求;
  • 金额是否超过限制;
  • 申请人是否有提交权限;
  • 审批人是否配置正确;
  • 当前单据状态是否允许提交。

比如报销单没有发票附件是否允许提交,这就是业务规则。

四、审批操作要覆盖通过、驳回、转交和撤回

审批节点常见操作包括:

  • 审批通过;
  • 审批驳回;
  • 转交他人;
  • 加签;
  • 撤回;
  • 作废;
  • 评论或备注。

每个操作都要看:

  • 当前角色是否有权限;
  • 当前状态是否允许操作;
  • 操作后流向哪个节点;
  • 审批记录是否生成;
  • 消息通知是否发送。

五、多级审批要重点测流转规则

多级审批不是简单一个接一个。

要关注:

  • 一级审批通过后是否进入二级;
  • 一级驳回后是否回到申请人;
  • 二级驳回后是否退回上一级还是申请人;
  • 金额不同是否走不同审批链;
  • 部门不同是否匹配不同审批人;
  • 审批人为空时如何处理。

审批流最容易出问题的地方,就是规则分支。

六、权限绕过是高风险点

审批流必须关注后端权限。

常见风险包括:

  • 非审批人通过接口直接审批;
  • 申请人自己审批自己的单据;
  • 已通过单据仍可修改;
  • 已撤回单据仍可审批;
  • 通过修改 URL 查看别人单据;
  • 普通用户调用管理员审批接口。

面试时能说到接口权限校验,会非常加分。

七、通知和审批记录也要测

审批流通常会产生消息。

要验证:

  • 提交后审批人是否收到通知;
  • 审批后申请人是否收到结果;
  • 抄送人是否收到抄送;
  • 消息链接是否能打开正确单据;
  • 审批记录是否记录操作人、时间、意见和节点。

审批记录是后续追溯的关键,不能只看当前状态。

八、面试回答模板

可以这样回答:

测审批流时,我会先梳理角色、状态和节点规则。角色上要覆盖申请人、审批人、管理员、抄送人等权限差异;状态上要验证草稿、审批中、已通过、已驳回、已撤回等状态流转;流程上覆盖提交、通过、驳回、撤回、转交、加签等操作;同时重点验证多级审批规则、金额分支、审批人为空、非法状态操作和接口权限绕过。最后会检查审批记录、消息通知、数据库状态和页面展示是否一致。

这类回答会比“提交审批、审批通过、审批驳回”更完整。

九、下一步建议

审批流建议准备一个真实业务例子,比如报销审批或请假审批。

重点练习:

  • 状态流转;
  • 角色权限;
  • 多级审批规则;
  • 驳回和撤回逻辑。

配套刷题: