用于审查数据验证、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