Dans la publicité digitale, chaque impression diffusée déclenche un log qui traverse tout un pipeline de données avant d’atterrir dans les tables de reporting et de facturation.
Un log perdu, dédoublé ou mal transformé en cours de route, c’est potentiellement de l’argent facturé à tort — ou pas facturé du tout. Et ces régressions sont particulièrement difficiles à détecter : l’API répond 200, l’interface affiche la pub, tout semble fonctionner. Pourtant, plus loin dans la chaîne, la donnée peut déjà être corrompue.
L’objectif du projet : automatiser la vérification de ce trajet complet, en continu, pour détecter les anomalies avant qu’elles n’atteignent les clients.
Le parcours reproduit par chaque test :
- Créer une insertion publicitaire de test via l’API.
- La mettre en ligne et attendre sa propagation.
- Simuler un appel publicitaire (comme le ferait un navigateur).
- Déclencher le pixel de tracking de l’impression.
- Vérifier que l’événement arrive bien en base « staging » du data warehouse.
- Plus tard, vérifier qu’il est correctement agrégé dans les tables consommées par le reporting.
- Nettoyer derrière soi.
Côté stack : Playwright orchestre les appels API et le suivi du log, et BigQuery sert à la fois d’oracle — on y lit la donnée transformée pour la confronter au résultat attendu — et d’espace de monitoring pour historiser chaque exécution. Ce qui rend l’exercice intéressant : Contrairement à un test end-to-end classique qui se joue en quelques secondes, ici on suit un événement qui met parfois heures à traverser tout le pipeline. Il faut gérer finement l’asynchronisme : attendre intelligemment, retenter, et vérifier à deux niveaux distincts (ingestion immédiate et agrégation différée).
Un point souvent sous-estimé : ce type de validation n’est possible que dans un véritable environnement de test end-to-end, où tous les maillons du pipeline sont présents et reliés comme en production.
Tester chaque brique isolément ne suffit pas — la plupart des bugs de data vivent précisément entre les briques. Investir dans cet environnement, c’est ce qui permet de détecter les régressions data de façon proactive, avant qu’un client ne le fasse à notre place.