Todos los proyectos dbt tienen tests.
Pocos los tienen bien organizados.
La diferencia está en saber qué testear, dónde hacerlo y con qué nivel de urgencia.
Este capítulo del libro Data Engineering with dbt te da un framework completo para implementar calidad de datos de verdad, no solo un par de not_null para cumplir el expediente.
No todo tiene la misma importancia.
El capítulo clasifica los elementos por criticidad: claves primarias y de negocio son imprescindibles, foreign keys muy recomendables, reglas de negocio siempre que sea posible, métricas y categorías según el impacto, y datos descriptivos rara vez.
Una tabla de prioridades te ayuda a decidir dónde invertir esfuerzo y qué riesgos asumes si algo falla.
Cada capa tiene tests distintos con prioridades diferentes:
Veremos qué tests aplicar en cada punto, cuáles son críticos y cuáles opcionales.
Los genéricos (not_null, unique, relationships, accepted_values) se configuran en YAML y cubren la mayoría de casos.
Pero a veces necesitas lógica personalizada.
Vamos a aprender cómo crear tests genéricos propios (con ejemplos como detección de colisiones en hashes) y tests singulares para validaciones específicas de tu negocio.
También cubriremos las opciones de configuración: severidad, umbrales, filtros con where, y cómo guardar los fallos para análisis posterior.
¡A por ello! 🫡