ETL数据校验测试点

ETL
一、 extract 从源系统提取数据。
需关注:
 数据更新:

  1. 数据是否实时更新;
  2. 如果定时更新需校验更新时间,时间有开闭区间;
  3. 校验是全量更新还是增量更新;
  4. 更新后数据库与前端是否表现一致;
  5. 更新耗时是否过长(可通过插入批量数据校验),时间过长可能会有风险比如数据中断未能全部同步,而且用户体验较差比如用户需要第二天上班前看到数据,达不到用户需求;
  6. 更新出现异常时,是否有做异常处理,比如邮件提示,重新自动更新等。

二、 Transform:将源数据转为统一标准模式。
需关注:
 数据一致性:
8. 数据同一内容在不同表是否命名为同一个字段名称,如果不一致则有可能导致插入或查询的数据不一致;
9. 同个字段,不同表的数据类型或精度不一致,有可能导致插入或查询的数据不一致;
 主键校验:
10. 主键是否会出现空或者null,会导致查询时找不到该行数据;
11. 数据表同一个主键值对应对个配对值,比如一个厂家代码对应多个厂家名称,导致插入或查询的数据不一致;
12. 主键是否唯一(同一字段,不同表的内容或数值不一样),导致连表查询时出现问题;
 数据质量:
13. 数据源转换为标准后的数据精度问题,比如时间、日期格式、金额小数点、地点、经纬度等,如果前后不一,需考虑是否有问题;
14. 字段值出现‘null’或者直接为空是否正常,比如订单状态只有1或1,但不允许有空,比如价格不允许为空或‘null’;
15. 约束校验,比如金额为0时,金额占比是空,应该改为0%,比如数量10-(-2)=12,实际上计算的目的是10-2=8,应该取字段的绝对值才能计算正确,比如需要排序时是否按照绝对值进行排序;
16. 数据源有非常规值或者前后空格的数值,是否按照要求转换成标准数值;
17. 敏感字段是否有做脱敏处理,比如电话、身份证中间的数字用**注释;
 数据逻辑:
1、 产品提供的需求逻辑是否有漏洞,产品不一定能考虑得到;
2、 开发理解产品需求是否有误,需要与产品一起确认最终逻辑;
3、 字段类型导致计算问题,比如数值精度问题
4、 数据从数据源到结果表的计算逻辑校验,比如kudu到mysql的逻辑校验
5、 数据从结果表到前端的计算逻辑校验,比如mysql/kudu到前端的逻辑校验

三、 Load:将数据载入数据库
需关注:
1、 字段类型导致计算问题;
2、 字段默认值,比如某个字段可能数据源为空,是否有默认值;
 批量数据插入
3、 插入批量数据后前端是否正常展示,比如图表重叠,遮挡等情况;
4、 插入批量数据后,观察数据服务器和后台服务器的性能,是否出现宕机、重启、报错等情况
 数据完整性
1、 确保所有期望的数据均展示在目标表和前端。
2、 比较数据源到数据表格的个数
3、 比较数据表到前端的个数
4、 是否出现不合格的数据,比如脏数据未能成功过滤

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值