ETL测试点--实时ETL
ETL测试分为离线ETL和实时ETL测试。
实时ETL的测试点:
链路数据的一致性
主要验证每个链路节点数据消费的一致性,重点确保整个链路各个节点的数据处理和消费情况一致,也就是通过对数据消费的分时、分频率对比完成一致性验证。
natural-flow:自然消费的数据流,是源于线上真实的数据消息通道,即自然频率的数据消费,以该模式进行测试更贴合实际业务情景;
high-frequency:高频数据流,采用超出真实峰值或者其他设定值的数据频次输送给实时消费链路,在压测或者检测链路稳定性中是一个常用的测试策略;
low-frequency:低频数据流,采用明显低于真实值或者特定的低频次数据输送给实时消费链路。如果数据链路中有基于数据量的批量处理策略会暴露的比较明显,比如批量处理的阈值是 100,那么在业务低峰时很有可能达不到策略阈值,这批数据就会迟迟不更新,这个批量处理策略可能不是合理。同时低频次的消费对于实时链路处理的一些资源、链接的最低可用度这些层面的检查也是有意义的。
步骤:先通过不同数据流频率将数据输送实时链路消费,然后取不同抽样时间间隔的数据进行对比分析,确保数据的一致性(如count uniq sum )。
链路数据的完整性
从源头处理到前端展示,不能因为数据逻辑权限、存储异常和前端展现异常等导致数据丢失,经典如下:
在原始数据中,若出现“背压”,会导致数据源消息积压。如果积压严重,会导致资源耗尽,可能早点成数据丢失;
在数据处理阶段,如果数据未按照需求进行处理,会导致目标有效数据丢失;
在数据存储阶段,如果存储容量已经满了,会造成新数据无法继续写入,最终会导致数据丢失。
链路数据的及时性
数据及时性,顾名思义就是测试数据需要按时产出。及时性重点关注的三个要素是:定时调度时间、优先级以及数据deadline。其中任务的优先级决定了它获取数据计算资源的多少,影响了任务执行时长。数据deadline则是数据最晚产出时间的统一标准,需要严格遵守。
数据的快速恢复验证
在数据传输过哦成中,如果因为系统异常中断,会停留在某一环节,在系统恢复后,需要确认停止的数据可以快速恢复流转,且处理正确,无数据遗漏和数据重复消费。
数据的消费性能----还没想清楚。。。。。
实时数据处理本身是一套全链路数据计算服务,性能测试比较重要。还未理解
数据流转过程中关键节点的监控
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?