Una guía para pruebas de canalización de datos con Python |  por 💡Mike Shakhomirov |  marzo de 2024

Una suave introducción a las pruebas unitarias, las burlas y los parches para principiantes

Imagen generada por IA usando Kandinski

En esta historia, me gustaría plantear una discusión sobre las pruebas unitarias en ingeniería de datos. Aunque hay muchos artículos sobre pruebas unitarias de Python en Internet, el tema parece un poco vago y descubierto. Hablaremos sobre los canales de datos, las partes que los componen y cómo podemos probarlos para garantizar una entrega continua. Cada paso del flujo de datos puede considerarse como una función o proceso e idealmente debería probarse no solo como una unidad sino todos juntos, integrados en un único proceso de flujo de datos. Intentaré resumir las técnicas que uso a menudo para simular, parchear y probar canalizaciones de datos, incluidas la integración y las pruebas automatizadas.

¿Qué son las pruebas unitarias en el mundo de los datos?

Las pruebas son una parte crucial de cualquier ciclo de vida de desarrollo de software y ayudan a los desarrolladores a asegurarse de que el código sea confiable y pueda mantenerse fácilmente en el futuro. Considere nuestra canalización de datos como un conjunto de pasos o funciones de procesamiento. En este caso, las pruebas unitarias pueden considerarse como una técnica de escritura de pruebas para garantizar que cada unidad de nuestro código o cada paso de nuestra canalización de datos no produzca resultados no deseados y sea adecuado para su propósito.

En pocas palabras, cada paso de una canalización de datos es un método o función que debe probarse.

Las canalizaciones de datos pueden ser diferentes. De hecho, suelen variar mucho en términos de fuentes de datos, pasos de procesamiento y destinos finales de nuestros datos. Siempre que transformamos los datos del punto A al punto B, hay una canalización de datos. Hay diferentes patrones de diseño. [1] y técnicas para construir estos gráficos de procesamiento de datos y escribí sobre ello en uno de mis artículos anteriores.

Eche un vistazo a este sencillo ejemplo de canalización de datos a continuación. Demuestra un escenario de caso de uso común cuando los datos se procesan en múltiples nubes. Nuestro flujo de datos comienza desde…