数据验证框架最终守则审查清单

2026年8月16日1 次浏览来源:Dev.to阅读原文

用于审查数据验证、ETL测试和自动调节编码库的全面、生产准备清单。

数据工程工具的代码审查需要比标准的网络应用更严格.

数据验证框架中的一细微的bug可能导致无声管故障,假阳性测试通过,或意外地执行生产仓库上无约束的SQL查询.

无论是建立自定义数据框架还是维持自动ETL测试,在代码审查时使用这个通用核对表来保持测试套件的安全性,性能,可靠性.

1.

测试大小写配置(YAML / JSON) TC ID匹配:确保 tc id值与配置文件名完全匹配.

Schema 有效性: 验证该类型(例如:计数,数据,侦察,文件)和源/目标驱动程序是有效的,并得到支持.

明确授权者:确认启用的字段是明确设置的(真假)而不是省略的.

相对文件路径:对于基于文件的验证,确保路径相对于定义的源/目标数据目录.

非Empty查询:确认SQL源和目标包括非空查询字符串或有效的模板路径.

独有案例ID:确保测试案例标识符在整个测试套件目录中是独一无二的.

有文件证明的理由:如果测试案例允许:虚假或使用数字容忍阈值(验证-容忍),确保评论解释商业理由.

依赖性令:核实基本结构检查(COUNT)在深入比较(DATA / ReCON)之前运行.

2.

SQL & 查询逻辑明确预测:没有SELECT *。所有列必须明确列出,以避免计划漂移中断。

对齐:来源和目标查询必须返回相容的数据类型并匹配列排序.

环境隔离:检查查询字符串中包含零个硬码主机名,计划名,或环境路径.

保密:确保查询中不包含硬码的证书或连接字符串.

仓库推倒:确认过滤和大量汇总发生在数据库一级(WHERE / Group BY),而不是将完整的表格拉入应用程序内存。

决定主义:查询必须返回决定性命令(例如,在主密钥上明确命令BY),因此差异比较产生一致的结果。

3.

验证器 Core Logic 标准化返回 Schema:验证器常规必须总是返回一致的有效载荷计划(例如状态,摘要,src row count,tgt row count,匹配 rows).

状态一致性:状态值应当使用正态的大写字符串("PAS"/"FAIL").

Null/NaN 处理: 验证 NaN 和 NULL 的比较明确说明缺失的数据等同性.

内存护卫:应执行行封(如.head(1000))或块来防止大数据集上OOM出错.

安全数字:确保容忍阈值执行非负值(如最大值(0.0,活体值(容忍))。

错误保存:没有默默的例外吞入——除块外,所有块都必须通过日志框架重新取出或日志.

4.

执行 & 管道运行器类型调度器安全性: 确保执行跑取器在遇到不支持的验证类型时会发出明确的值错误 。

Type Corcion Guards:数据加载器(如CSV读取器)应酌情默认字符串类型(dtype=str)来防止静态类型转换(如:在zip代码中去掉领先的零).

隔离:确保单个测试执行被包入尝试/除块外,这样单个失败的测试案例就不会崩溃整个运行.

输出抓取:正确调整标准输出流,因此模块日志在最后的HTML或JSON报告中被正确抓取.

5.

安全与数据安全 无硬码证书:检查API密钥,密码或连接字符串是否严格取自环境变量或秘密管理器.

无 Raw PII: 确认本地测试固定装置(data/src,data/tgt)包含合成数据而不是生产PII或财务记录.

注射预防: SQL 执行呼叫必须使用参数化的inp

分享