2. 审批流基础:审批流定义、常见审批模式(串行/并行/会签)、审批流在集成测试中的重要性
2.1 审批流定义
审批流(Approval Workflow)是业务系统中将任务按预设规则依次或并行提交给审批人进行决策的自动化路径。在集成测试语境下,审批流本质上是状态机 + 路由规则的组合:每个审批节点代表一个状态,节点间的转移条件由参数配置驱动。
核心要素: 审批节点(Approver Node)、路由条件(Routing Condition)、超时策略(Timeout Policy)、驳回/转交规则(Reject/Transfer Rule)。
2.2 常见审批模式
根据业务场景的复杂度和合规要求,审批流通常分为三种基础模式。下表从执行顺序、资源占用、适用场景三个维度进行对比:
| 模式 | 执行顺序 | 资源占用 | 典型场景 | 集成测试关注点 |
|---|---|---|---|---|
| 串行 | A → B → C(线性) | 低(单线程) | 合同审批、预算逐级审批 | 节点超时、状态流转一致性 |
| 并行 | A → (B,C,D) 同时 | 高(多线程) | 跨部门会签、多角色评审 | 并发锁、数据竞争、聚合结果 |
| 会签 | 多人同时审批,需全部/多数通过 | 中(计数聚合) | 合同会签、技术方案评审 | 投票计数、超时未签处理 |
2.3 三种模式的流程对比(SVG)
下图展示了串行、并行、会签三种审批模式的核心流程差异,帮助测试人员在设计回放用例时快速定位路由分支:
2.4 审批流在集成测试中的重要性
在集成环境回放测试中,审批流是状态变更的核心驱动引擎。如果审批流参数配置错误或性能瓶颈未被发现,会导致整个回放链路断裂。以下是审批流在集成测试中的四个关键作用:
- 状态一致性验证:审批流驱动业务对象(如订单、合同)的状态迁移,回放测试必须确保每个审批动作后的状态与预期一致。
- 并发与锁竞争检测:并行/会签模式会引发数据库行锁、分布式锁竞争,回放测试可暴露死锁或超时问题。
- 参数配置覆盖:审批流参数(如超时时间、审批人列表、驳回策略)在回放中必须与生产环境对齐,否则回放结果失真。
- 性能基线建立:审批流节点耗时是回放性能分析的关键指标,通过回放可建立每个节点的P50/P99耗时基线。
测试建议:在回放测试前,先梳理审批流的状态转移矩阵,明确每个输入事件对应的输出状态,再配置回放参数。这能大幅减少回放失败后的排查时间。
2.5 审批流状态转移矩阵示例
以下是一个典型的三级审批流状态转移矩阵,用于指导回放测试的断言设计:
| 当前状态 | 触发事件 | 下一状态 | 回放断言 |
|---|---|---|---|
| 草稿 | 提交审批 | 审批中(一级) | 状态字段更新、审批人分配 |
| 审批中(一级) | 审批通过 | 审批中(二级) | 审批记录写入、通知触发 |
| 审批中(一级) | 审批驳回 | 已驳回 | 驳回原因记录、回退草稿 |
| 审批中(二级) | 审批通过 | 已通过 | 最终状态锁定、归档触发 |
| 审批中(二级) | 超时未处理 | 超时关闭 | 超时策略执行、通知升级 |
2.6 审批流参数配置与回放的关系(SVG)
下图展示了审批流参数配置如何影响集成回放测试的输入与断言,帮助测试架构师快速定位配置盲区:
常见陷阱:回放测试中如果审批流参数(如超时时间)与生产环境不一致,会导致回放通过但生产失败。建议在回放配置中强制校验参数一致性,或使用生产环境的参数快照进行回放。