跳转至

自动测试

RulEuler 内置自动测试系统,能自动为知识包生成测试用例并执行验证。

工作原理

自动测试通过解析决策流 DAG 中所有节点的条件表达式,基于路径覆盖 + MC/DC 策略自动生成测试数据:

  1. 解析决策流中所有节点的条件(DecisionNode、RuleNode、ForkNode)
  2. 遍历 DAG 的所有 start→end 路径
  3. 为每条路径生成"命中数据"(满足所有条件)和"不命中数据"(逐个翻转条件)
  4. 执行测试用例,记录结果

测试层级

层级 名称 说明
L0 静态冲突检测 检测决策表行重叠、规则集条件重叠、决策树分支不完备
L1 条件覆盖测试 解析所有规则类型(规则集、决策表、决策树、评分卡),生成覆盖用例
L2 输出分布回归 记录输出分布,后续运行自动比对变化

使用方式

在管理后台中,进入项目 → 自动测试页面:

自动测试报告

  1. 点击"生成测试用例",系统自动分析知识包并生成用例
  2. 点击"运行"执行测试
  3. 查看测试报告,包含通过率、输出分布、变化明细

测试用例包

测试用例打包为不可变的"用例包",支持:

  • 自动生成(基于规则分析)
  • 手动导入(CSV/JSON 格式)
  • 多次运行同一用例包进行回归比对

回归测试

首次运行自动标记为 baseline,后续运行与 baseline 比对:

  • 输出一致 → SAME
  • 输出变化 → CHANGED(高亮差异字段)
  • 按输出变量统计分布变化百分比

当规则修改后重新运行测试,可以快速发现哪些输出发生了变化。

API

接口 说明
POST /api/autotest/generate 生成测试用例包
POST /api/autotest/run 执行测试运行
GET /api/autotest/run-status?runId=X 查询运行进度
GET /api/autotest/report?runId=X 查询测试报告