dbt: Layered testing avec des plannings par source dans dbt

🎯 Objectif

Mettre en place une stratégie de tests ciblés, efficaces et synchronisés avec les rythmes de mise à jour des données.


🔧 Problème courant

Tu as plusieurs sources de données dans ton entrepôt :

SourceFréquence de mise à jour
ERP (finance)chaque nuit à 3h
CRM (clients)toutes les heures
Web analyticstoutes les 10 minutes

👉 Si tu lances tous tes tests après chaque run, tu perds du temps et des ressources, surtout pour les sources qui ne changent pas souvent.


✅ Solution : Layered Testing + planning par source

🔁 Layered testing (tests par couches) signifie :

Couche de testDescription
🔹 Source-levelVérifie que les données brutes sont correctes (freshness, not_null, accepted_values sur les sources)
🔸 Staging-levelVérifie les transformations simples (formatage, mapping, etc.)
🔺 Business-levelVérifie les KPIs, ratios, calculs métiers dans les modèles finaux (fct_, mart_, etc.)

⏱️ Planning par source (source-specific schedules)

Tu peux configurer ton pipeline CI/CD ou orchestrateur (Airflow, dbt Cloud, Dagster…) pour :

  • exécuter les tests CRM toutes les heures
  • exécuter les tests ERP seulement après 3h du matin
  • exécuter les tests Web toutes les 15 minutes

📁 Exemple d’organisation dans dbt Cloud ou Airflow

ScheduleSélecteur dbtContenu du test
Toutes les 15 minsource:ga4 + tag:webTests freshness et not_null sur stg_web_events
Toutes les heuressource:crm + tag:clientsTests stg_clients, dim_clients
Chaque nuit (3h30)source:erp + tag:financeTests stg_factures, fct_resultats

🔍 Avantages de cette stratégie

BénéficeDétail
🎯 Tests ciblésTu testes uniquement ce qui a été mis à jour
⚡ Meilleure performanceTu évites de lancer des centaines de tests inutilement
🧩 Meilleure traçabilitéEn cas d’erreur, tu sais quelle couche ou quelle source est en cause
🔒 Couverture complèteTu gardes un haut niveau de qualité sans sacrifier les performances

✅ Résumé

En combinant des tests organisés par couches (layered) avec des plannings adaptés à chaque source, tu obtiens une stratégie de validation robuste, performante et maintenable dans dbt.
Tu testes au bon moment, au bon endroit, avec une logique claire d’impact et de responsabilité.


Leave a Reply

Your email address will not be published. Required fields are marked *