Value pipeline testing: een early warning-systeem voor live data

Het is een frustratie van veel data engineers: in de ontwikkelfase lijkt de data pipeline uitstekend te werken, maar op het moment dat een pipeline eenmaal in productie draait, blijken er toch problemen te zijn. Niet voor niets verschuift de aandacht van het testen van data pipelines steeds meer naar de productiefase. Maar hoe kun je data pipelines testen wanneer ze al in productie zijn?

Het antwoord, volgens Data Architect Mark Streutker: value pipeline testing.

Bewegende delen

Een grote uitdaging bij het testen van een dataplatform is dat deze vaak bestaat uit veel ‘bewegende delen’, aldus Mark. “Denk aan databases en data lakes, maar ook ETL-processen en analysetools. Al deze componenten moeten naadloos met elkaar samenwerken. Er zijn verschillende soorten tests nodig om dat te controleren: datakwaliteitstests, integratietests, performancetests en beveiligingstests.”

Het testen van data pipelines wordt er niet eenvoudiger op, naarmate data-ecosystemen steeds complexer worden, aldus Mark: “Bij veel systemen die we op dit moment ontwikkelen, hebben we te maken met externe leveranciers of ketenpartners. En je hebt nu eenmaal niet altijd honderd procent grip op de kwaliteit van de data die zij aanleveren. Het gedrag van een data pipeline wordt door een groot deel beïnvloed door de data die ermee verwerkt wordt. En dus kan je systeem zich anders gaan gedragen dan je misschien had verwacht.”

Value pipeline testing

Value pipeline testing is een manier om live data te testen. Mark: “In tegenstelling tot unit tests, die geïsoleerde datasets gebruiken, kijk je naar live data. Je controleert bijvoorbeeld of het juiste aantal bestanden is aangeleverd en of de aantallen records kloppen tussen verschillende lagen in het platform. Samen vormen deze geautomatiseerde tests een soort early warning-systeem. Als er iets niet klopt, dan kan het systeem automatisch actie ondernemen of een beheerder waarschuwen. Zo voorkom je dat problemen doorsijpelen naar eindgebruikers.”

Mark benadrukt dat automatisering cruciaal is: “Handmatig testen is en blijft foutgevoelig en kostbaar. Automatisering voorkomt niet alleen fouten, het maakt je testproces ook schaalbaar en efficiënt en maakt vroegtijdig signaleren mogelijk. Frameworks als PyTest en Great Expectations integreren naadloos met CI/CD-tools, waardoor tests automatisch meelopen in het ontwikkelproces.”

Veranderingen in data engineering gaan hard

Ondanks het groeiende belang van data pipeline testing, hebben veel organisaties dit nog niet optimaal ingericht, aldus Mark: “Binnen data engineering zijn de veranderingen de afgelopen jaren enorm snel gegaan. Wat we nu ontwikkelen verschilt compleet van tien jaar geleden, zowel qua architectuur als tooling. Als het gaat om testen, dan moeten we toegeven dat ons vakgebied nog achterloopt op de wereld van software. Het goede nieuws is dat we wel bezig zijn met een inhaalslag.”

Voor organisaties die hun data pipeline testing willen verbeteren, adviseert Mark een gestructureerde aanpak: “Begin eerst eens met het in kaart brengen waar het momenteel misgaat. Start met een kleine setup waarin je de eerste checks kunt uitvoeren.”

Om een dataplatform succesvol te testen, adviseert Mark:

  • Integreer testen vanaf het begin in je ontwikkel- en implementatieproces
  • Automatiseer zoveel mogelijk, maar houd het beheerbaar
  • Zorg voor goede samenwerking tussen team en stakeholders
  • Begin met eenvoudige tests en breid dit geleidelijk uit
  • Investeer in expertise om tools goed te configureren

Ook is er een culturele verandering nodig om het testen van data pipelines hoger op de agenda te zetten. “Maar voor het onder controle houden van datakwaliteit heb je vaak andere mensen nodig”, aldus Mark. “Het is belangrijk dat de organisatie het belang hiervan inziet en de juiste expertise beschikbaar stelt. En betrek ook de business erbij, want het zijn de mensen met domeinkennis die je kunnen vertellen waar de grootste pijnpunten zitten.”