Aserciones automáticas de validación ejecutadas sobre las tablas de datos para garantizar unicidad, integridad referencial y ausencia de valores nulos.
Explicación y Contexto Conceptual
Los dbt Tests son afirmaciones o aserciones lógicas que se ejecutan automáticamente contra los modelos del almacén de datos para verificar que los datos cumplen rigurosamente con las expectativas y contratos de calidad del negocio.
dbt incluye pruebas genéricas predeterminadas que se configuran con una sola línea de código en YAML:
- `unique`: comprueba que no existan identificadores duplicados.
- `not_null`: asegura que no existan valores vacíos en campos obligatorios.
- `accepted_values`: valida que una columna solo contenga valores permitidos (ejemplo: 'paid', 'pending', 'refunded').
- `relationships`: garantiza integridad referencial verificando que cada clave foránea en una tabla de hechos exista efectivamente en su tabla de dimensiones.
Asimismo permite escribir pruebas singulares en SQL puro: si la consulta retorna al menos una fila (por ejemplo: transacciones con importe negativo o fechas en el futuro), la prueba falla y detiene el pipeline.
Ejemplo en la Práctica
Un test en `fct_ad_spend` falla al detectar que Facebook Ads reportó un gasto negativo de -$300, impidiendo que el dato erróneo contamine los reportes del CMO.