Skip to content

规则引擎回归测试规则

适用于业务规则频繁迭代场景,确保规则变更后核心结果不回归。

规则文件内容

请复制以下内容,保存为 .cursor/rules/rule-regression-test-suite.mdc

markdown
---
description: 规则回归测试矩阵、黄金样本与边界用例治理规则
globs: tests/rules/**, src/modules/rules/**, docs/test-cases/**
---

# 规则引擎回归测试业务规则

## 1. 核心原则
- **变更必回归**:任何规则调整必须触发回归测试。
- **边界优先**:优先覆盖阈值边界与异常路径。
- **结果可复核**:回归结果必须可追溯到样本与版本。

## 2. 用例分层规则
- `P0`:关键结算/合规/安全规则
- `P1`:核心业务流程规则
- `P2`:辅助性与展示类规则

## 3. 测试矩阵规则
- 每条规则至少覆盖:正常、边界、异常三类用例。
- 关键公式需覆盖上下边界 ±1 单位。
- 多条件组合至少覆盖两两组合场景。

```ts
interface RegressionCase {
  caseId: string;
  ruleCode: string;
  input: Record<string, unknown>;
  expected: Record<string, unknown>;
  priority: 'P0' | 'P1' | 'P2';
}

4. 黄金样本规则

  • 关键规则维护黄金样本集,不可随意覆盖。
  • 样本更新必须附变更说明与审批人。
  • 新旧规则并行期需双跑对比。

5. 执行门禁规则

  • P0 回归失败禁止合并发布。
  • P1 失败需给出豁免单号或修复计划。
  • 回归通过率低于阈值触发质量告警。

6. 差异分析规则

  • 输出需包含:新增失败、已修复、持续失败。
  • 同一规则连续失败 >=3 次标记高风险。
  • 差异报告需附输入快照与预期/实际对比。

7. 自动化规则

  • CI 默认执行 P0 + P1,夜间全量执行。
  • 历史失败用例应作为 smoke 套件保留。
  • 测试数据生成器需固定随机种子。

8. 数据模型约束

  • rule_test_cases 必须包含:case_id, rule_code, priority, input_snapshot, expected_snapshot
  • rule_test_runs 必须包含:run_id, rule_code, case_id, result, duration_ms, executed_at
  • rule_test_diffs 必须包含:run_id, case_id, expected, actual, diff_summary

9. 实施注意事项

  • 回归数据建议按规则版本分目录管理。
  • 关键规则建议增加属性测试(property-based testing)。
  • 对时间相关规则要固定时区与基准时间。

## 适用场景

- 业务规则持续迭代项目
- 风险敏感逻辑回归验证
- 规则引擎上线前质量门禁

基于 AI 辅助开发,快速、灵活、可靠