摘要:规则配置完成后,不能直接上线调用。在线调试是验证规则是否正确的重要环节。本文介绍JVS-Rules决策流调试时应该准备哪些测试数据、检查哪些节点结果,以及如何定位常见规则问题。
关键词:在线调试、JVS-Rules、决策流、规则引擎、规则测试

一、为什么规则上线前必须调试
规则引擎降低了规则修改成本,但不代表规则可以随意上线。
规则配置错误同样可能造成业务事故。
例如:
- 本该拒绝的客户被通过。
- 本该通过的申请被拦截。
- 额度计算不符合预期。
- 决策表没有命中任何结果。
- 结束节点没有返回调用方需要的字段。
所以,决策流配置完成后,第一步应该是在线调试。

二、在线调试验证什么
在线调试不只是看流程能不能执行成功。
至少要验证:
- 入参是否能被正确识别。
- 条件分支是否走到预期路径。
- 决策表是否命中正确规则。
- 评分卡分值是否正确。
- 函数返回值是否符合预期。
- 结束节点输出字段是否完整。
- 异常场景是否有合理结果。
一个规则能跑通,只代表没有明显执行错误。
一个规则能上线,需要证明关键业务场景都符合预期。

三、准备测试数据
测试数据要覆盖典型路径。
以贷款准入为例,至少准备:
通过样例:
年龄拒绝样例:
逾期拒绝样例:

边界样例:

边界数据很重要。
很多规则问题不是出在正常值,而是出在等于阈值的位置。
四、调试时关注执行路径
规则引擎的一个重要价值是能看到执行路径。
调试时要确认:
- 流程是否从开始节点进入。
- 条件分支是否按预期选择路径。
- 是否执行到了目标节点。
- 是否提前结束。
- 是否有节点被跳过。
如果结果不对,不要只看最终输出。
应该沿着执行路径逐步检查。

五、调试决策表
决策表常见问题包括:
- 字段值没有传入。
- 字段类型不匹配。
- 条件范围没有覆盖。
- 规则顺序影响命中。
- 默认结果没有配置。
例如 riskScore 为 80,如果规则写的是:

那么 80 分不会命中。
这种边界问题非常常见。
六、调试评分卡
评分卡要检查每个评分项。
不要只看总分。
需要确认:
- 哪些评分项命中了。
- 每项加了多少分。
- 未命中的原因是什么。
- 总分是否正确。
- 总分是否传给后续节点。
评分卡问题通常来自条件范围、权重配置或字段来源。

七、调试函数
如果决策流中使用了 API、DB、SQL、Groovy、Python、ETL 等函数,要额外检查:
- 函数单独测试是否成功。
- 决策流执行时传给函数的参数是否正确。
- 函数返回结构是否和变量引用一致。
- 函数异常时流程如何处理。
函数测试成功,不代表决策流里一定成功。
因为测试参数和真实流程参数可能不同。

八、上线前检查清单
发布前建议检查:
- 所有必填入参都有测试。
- 通过、拒绝、人工审核等路径都覆盖。
- 决策表有默认结果或完整覆盖。
- 评分卡边界值测试通过。
- 结束节点返回字段完整。
- 调用方需要的字段名称一致。
- 执行日志能追溯关键结果。
九、小结
在线调试是规则上线前最关键的一步。
在 JVS-Rules 中,调试不仅是验证能否执行,更是验证路径、命中、分值、输出和异常场景。
规则引擎让规则变更更快,但越快越需要规范的验证过程。
:在线调试决策流——规则上线前如何验证结果&spm=1001.2101.3001.5002&articleId=162837520&d=1&t=3&u=2f3b523f76034e838a05bf16678df4ec)
188

被折叠的 条评论
为什么被折叠?



