质量规则的自测

质量规则本身也要测试:用构造数据(全空列、重复主键、越界枚举、边界值)跑一遍,确认该失败的能失败、该通过的不误报;规则上线前用历史分区回放,评估误报率与命中量。

构造样本验证规则命中

构造样本验证规则命中
WITH mock AS (
  SELECT NULL AS order_id, -1 AS amount UNION ALL
  SELECT 1001, 10 UNION ALL
  SELECT 1001, 20
)
SELECT
  SUM(CASE WHEN order_id IS NULL THEN 1 ELSE 0 END) AS null_hit,
  SUM(CASE WHEN amount < 0 THEN 1 ELSE 0 END)       AS neg_hit,
  COUNT(*) - COUNT(DISTINCT order_id)               AS dup_hit
FROM mock;
历史分区回放是低成本验证:拿上周真实数据跑新规则,先看误报率再决定阈值。

易错点

  • 规则直接上生产,阈值写错导致全员告警刷屏
  • 只测正常数据不造异常样本,规则从未被真正验证

数据来源与参考

  • 软件测试实践(边界值分析)
  • dbt 官方文档(测试)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌