数据中台测试方法及流程

一、前言

1.数据测试是什么

  • 数据测试是通过各类方式、方法对数据中台各个阶段的产出进行检查、核对、验证并输出结果的过程。

2. 为什么要做数据测试

  • 通过过程管理和过程物的输出,使项目能够正常进行交付。
  • 提前发现开发bug,减少bug率,提高数据的正确性。
  • 通过过程中发现的数据问题,促进客户优化业务和指标逻辑。
  • 通过检查全链路节点,确保链路节点正常、有效、及时。
  • 通过检查数据开发内容,确保数据开发过程符合项目制定的各类标准、规范。

二、测试方法

1. 测试原则

  • 实用性:紧密结合项目自身特点和实际情况,以满足业务使用为首要目标,杜绝无意义的测试工作
  • 有效性:从数据测试的特性触发,围绕数据本身内容及其使用过程中的重难点场景,能够切实发现问题、解决问题、甚至杜绝数据问题。
  • 最小化:遵循Good-enough原则,以需求为导向,平衡投入和测试产出比,采取不同测试手段和测试方法,力求达到最小投入和最大产出。

2. 测试维度介绍

  • 完整性:数据信息是否存在缺失的状况,数据缺失的情况可能是整个数据的记录缺失,也可能是数据中某个字段内容的缺失。
  • 有效性:
    • 对于数据而言,数据是否符合业务约束,能否满足业务使用要求
    • 对于任务而言,有效性是指任务能否具备执行条件,能够满足正常运行的相关要求
  • 规范性:指任务、代码、数据在组织形式、命名、呈现形式上是否符合既定的标准和规范
  • 准确性:指数据记录的信息是否存在异常或错误,最为常见的数据准确性错误如乱码、异常大或异常小的数据等。
  • 及时性:指数据从产生到最终使用的时间间隔,也叫数据的延时时长。及时性对于数据分析来说要求并不高,但如果数据分析周期过长,就会导致分析得出的结论已失去参考借鉴意义。

3. 测试阶段介绍

A. DEV测试

一般在开发环境进行,也叫自测或自验证,一般由开发人员自己或交叉进行测试,也可有项目组测试角色(例如:测试、QA)进行。
DEV测试要注意以下事项:

  • 不能只测试一条正确执行路径,要考虑到所有可能得情况。
  • 要确保所有测试都能够通过,避免间接损害其他测试内容。

B. SIT测试

在DEV测试之后进行的测试,一般是第三方的BA/PD、客户的技术人员进行,目的是从数据的全链路进行数据、任务的验证,该阶段主要在测试环境进行,进一步检测代码逻辑及运行结果。

C. UAT测试

该阶段一般由客户业务人员来进行,它是一项确定数据结果是否能够满足客户数据需求的测试,这个阶段也就是上生产的最后一步演练,一般情况下是用生产环境进行测试。

4. 测试范围介绍

  • 数据上云阶段(对应ODS层):包括数据集成任务、数据加密处理任务、增量数据合并任务,以及数据上云的结果表。
  • 数据治理阶段:包括DWD层数据处理任务、DWS数据处理任务、以及DWD层的结果表、DWS层的结果表。
  • 指标/标签开发阶段:包括ADS数据处理任务和ADS指标结果。
  • 数据服务阶段:包括数据服务任务、数据服务结果表、数据服务接口。

ODS原始数据层、DWD明细数据层、DWS服务数据层、ADS应用数据层
各层说明:https://blog.csdn.net/wjt199866/article/details/115184169

5. 测试场景介绍

image

image

6. 测试流程(含BA/PD)

image

三、测试模版工具

1. 测试方案结构模版

image

2. 数据上云-云上云下数据核对

image

3. 数据治理-数据任务检查

image

4. 数据治理-开发规范Checklist模板

image

5. 数据治理-测试用例模版(数据完整性)

image

image

6. 指标/标签开发-测试用例模版(指标准确性)

image

7. 指标/标签开发- 测试用例模版(指标时间分布&合理性)

  • 分多天进行测试和验证
    image
posted @ 2024-02-19 14:57  Trouvaille_fighting  阅读(1068)  评论(0编辑  收藏  举报