在传统的软件开发实践中,一段代码在投入生产之前,要经过各个阶段的测试(单元测试、集成测试、用户验收测试),以保证软件的稳定性。
ETL 管道,作为一段代码,也应该通过这些测试步骤来构建一个健康的系统。
然而,由于 ETL 过程的性质,传统的测试技术可能不适用。
是否有专门针对 ETL 管道测试的参考或指南?
在传统的软件开发实践中,一段代码在投入生产之前,要经过各个阶段的测试(单元测试、集成测试、用户验收测试),以保证软件的稳定性。
ETL 管道,作为一段代码,也应该通过这些测试步骤来构建一个健康的系统。
然而,由于 ETL 过程的性质,传统的测试技术可能不适用。
是否有专门针对 ETL 管道测试的参考或指南?
几年来,我一直在编写和测试 ETL 管道,通常有两种类型的管道。
仅用 python 或其他方式编写的代码管道
使用 SSIS 或 Informatica 等工具的 GUI 管道
第一组您可以像任何代码、单元和集成测试一样进行测试,第二组您只能使用集成测试进行真正的测试,即您部署代码并在测试环境中运行它。
我在这里扩展了如何对代码管道进行单元测试:https ://the.agilesql.club/2019/07/how-do-we-test-etl-pipelines-part-one-unit-tests/
本质上,您将需要单元和集成测试以及监控,这是生产中持续测试的一种形式:)