Koppelingen zijn ingewikkeld. Data stroomt van tool A naar tool B, wordt misschien omgezet en misschien gefilterd. Fouten sluipen er makkelijk in: een veld wordt verkeerd gekoppeld, een filter is te streng, datatypes komen niet overeen. Slechte data verpest beslissingen verderop. Testen en valideren zorgen dat koppelingen goed werken voordat je erop vertrouwt. Dit hoofdstuk laat zien hoe je koppelingen test en data over verbonden systemen valideert.
Soorten koppelingstests
Unittests
Test losse onderdelen. Voorbeeld: bevat de conversiegebeurtenis uit analytics alle verplichte velden (user_id, conversion_type, timestamp)? Zet de veldkoppeling van het CRM "type_purchase" (analytics) goed om naar "deal_closed" (CRM)?
Integratietests
Test de hele stroom van begin tot eind. Voorbeeld: start een conversie in analytics en controleer dat die binnen de verwachte tijd met de juiste data in het CRM staat.
Regressietests
Zorg dat wijzigingen bestaande functies niet breken. Voorbeeld: je past de veldkoppeling voor e-mailadressen aan. Controleer dat de koppeling voor telefoonnummers nog werkt.
Controles voor datavalidatie
Controle van aantallen: dagelijkse conversies in analytics moeten overeenkomen met het CRM (binnen 5%). Lopen ze uiteen, zoek het dan uit.
Controle op volledigheid: elke gebeurtenis moet de verplichte velden hebben. Als bij 10% van de gebeurtenissen user_id ontbreekt, is dat een probleem met datakwaliteit.
Controle op consistentie: als een conversie in analytics e-mailadres jane@wemasy.com heeft en in het CRM jane.c@wemasy.com, is dat een verschil. Zoek het uit.
Controle op tijdigheid: conversies moeten binnen de verwachte tijd in het doelsysteem staan (realtime of dagelijks). Komt data uren te laat binnen, dan is de koppeling misschien traag.
Controle op juistheid: neem steekproeven van conversies van begin tot eind. Is de conversie goed van de bron naar het doel gegaan? Kloppen de waarden?
Een proces voor testen en valideren opzetten
Voordat je live gaat: voer alle vier de soorten tests uit op voorbeelddata. Leg de resultaten vast. Laat beide teams (analytics en de doeltool) akkoord geven. Maak testgevallen voor regressietests later.
Nadat je live bent: dagelijkse afstemming: vergelijk aantallen, volledigheid en consistentie tussen systemen. Wekelijks een diepe controle: neem 10 tot 20 conversies van begin tot eind als steekproef. Maandelijks een review: let op afwijkingen, patronen en uitschieters.
Bij problemen: zet de koppeling stil als data duidelijk niet klopt (bijvoorbeeld een piek van 10 keer zoveel). Zoek uit wat er veranderde. Test opnieuw voordat je hervat.
Veelvoorkomende problemen met koppelingen en oplossingen
Probleem: conversies staan in analytics maar niet in het CRM. Oorzaak: API-sleutel verlopen, rechten gewijzigd, fout bij het omzetten. Oplossing: bekijk de logs, controleer de API-sleutel en controleer de veldkoppeling.
Probleem: aantallen komen niet overeen (analytics = 100, CRM = 80). Oorzaak: filterfout, het CRM heeft extra validatie die sommige gebeurtenissen weigert. Oplossing: controleer de filters van het CRM, kijk of veldtypes kloppen en pas de validatieregels aan.
Probleem: data komt vertraagd binnen (uren in plaats van realtime). Oorzaak: de koppeling verwerkt in batches in plaats van continu. Oplossing: controleer de instellingen van de koppeling en stap over op continu als dat kan.
Documentatie en beheer
Documenteer elke koppeling: bron, doel, soorten data, regels voor omzetten, verwachte vertraging en eigenaar (wie lost het op als het stuk is). Maak een draaiboek: wat is de volgorde om problemen op te lossen als de koppeling stuk gaat? Wie bel je?
Geef iedere koppeling een eigenaar: één persoon is verantwoordelijk. Die controleert, test en lost problemen op. Zo voorkom je dat niemand het weet.
Hoe test ik een koppeling voordat ik live ga?
Stap 1: stuur testdata (een testconversie met een nep-e-mailadres, een testlead met een testbedrijf). Stap 2: controleer dat de testdata binnen de verwachte tijd in het doelsysteem staat. Stap 3: controleer of alle velden kloppen (user_id, bedrag, datum). Stap 4: laat het 24 tot 48 uur lopen om de stabiliteit te testen. Stap 5: ruim de testdata op. Als alles slaagt, is de koppeling klaar voor gebruik.
Wat zet ik op een checklist voor het testen van koppelingen?
- [ ] Alle verplichte velden aanwezig, [ ] Datatypes kloppen (e-mail tegenover telefoon), [ ] Waarden binnen het verwachte bereik (prijs > $0), [ ] Tijdstempels kloppen, [ ] User-id komt overeen tussen systemen, [ ] Geen dubbelen, [ ] Aantallen komen overeen met de basis (±5%), [ ] Vertraging is acceptabel (binnen de afspraak), [ ] Foutafhandeling werkt (fouten worden gelogd, niet stilletjes weggegooid), [ ] Verwijderverzoeken worden verwerkt. Pas aan per koppeling.
Hoe vaak moet ik data uit koppelingen valideren?
Dagelijks: vergelijk aantallen en controleer 10 records. Wekelijks: diepe controle en test grensgevallen. Maandelijks: bekijk trends en let op afwijkingen. Per kwartaal: een volledige audit en controleer dat alle testgevallen nog slagen. Zo vang je problemen vroeg. Wacht je tot de maandelijkse controle, dan stapelen problemen zich op.
Wat is een acceptabele foutmarge bij het afstemmen van data?
Aantallen: ±5% (kleine verschillen in tracking zijn normaal). Volledigheid: 98% of meer (een paar ontbrekende velden is acceptabel). Consistentie: < 1% verschillen (de meeste data moet kloppen). Zit je boven deze grenzen, zoek het dan uit. 2 tot 3% fouten is acceptabel, bij 10% of meer is de koppeling kapot.
Wat doe ik bij storingen in koppelingen (de koppeling breekt en stuurt geen data meer)?
Direct: zet de koppeling stil en laat betrokkenen weten dat data verouderd is. Zoek uit: bekijk de logs, controleer API-sleutels en test de verbinding. Los op: pak de oorzaak aan (verlopen sleutel, ontbrekende rechten, fout in code). Hervat: test opnieuw en volg het 24 uur nauwkeurig. Nabespreking: waarom ging het stuk? Hoe voorkomen we dit? Voeg bewaking en meldingen toe.
Kan ik het testen van koppelingen automatiseren?
Ja. Gebruik tools voor datavalidatie (Great Expectations, dbt tests) om dagelijks automatisch te controleren. Stel meldingen in: wijken de aantallen meer dan 5% af, meld het dan aan een engineer. Is de volledigheid onder 98%, meld het dan. Automatiseer controles op aantallen en volledigheid en controleer de juistheid handmatig met steekproeven (moeilijker te automatiseren). De meeste bedrijven combineren automatische controles met handmatige review.