Quality assurance: hoe werkt het?
Deel 2 van de blogserie over quality assurance

In ons eerste artikel over quality assurance ging het over het belang van consistente, geldige en volledige data. Data is de basisvoorwaarde voor digitaal zakendoen, dus als je op basis van data de stand van je bedrijf beoordeelt en onderbouwde beslissingen neemt, moet je op de kwaliteit ervan kunnen vertrouwen. Het tweede deel van de serie over quality assurance beschrijft hoe de monitoring-dataflow werkt voor data die in Google BigQuery is opgeslagen.
Fouten opsporen
Als onderdeel van de monitoring voor quality assurance in Google Cloud kun je automatisch een melding krijgen bij afwijkingen of problemen. Zo weet je direct als een van je kritieke dataprocessen uitvalt, en kun je snel ingrijpen.
Het proces dat ons helpt de kwaliteit van data te bewaken, is de monitoring-dataflow. Die laat zien of er informatie ontbreekt of onvolledig is, en of bepaalde processen niet zoals verwacht konden worden uitgevoerd. Als onderdeel van de monitoring kunnen we controleren of een tabel een getal binnen een bepaald bereik bevat (anders dan null) of een bepaalde waarde overschrijdt. En ook of het e-mailadres geldig en uniek is, en of de tabel elke dag wordt bijgewerkt.
Data is het element waarop je de geloofwaardigheid van je bedrijf bouwt. Als je de kwaliteit van je data en processen verwaarloost, kan dat een grote impact hebben op de efficiëntie en prestaties van je bedrijf.
Monitoring, stap voor stap
De monitoring-dataflow voert met vaste tussenpozen vooraf ingestelde controles uit op BigQuery-tabellen. De resultaten van de controles worden opgeslagen en gerapporteerd met de ingestelde frequentie (controles die niet zijn geslaagd, en controles die bij de laatste uitvoering wel zijn geslaagd). De dataflow bestaat uit drie stappen:
- Lezen uit BigQuery (configuratietabel)
- Controles valideren/uitvoeren
- Resultaten wegschrijven naar BigQuery.

De eerste stap is het lezen van de configuratietabel om alle actieve controles op te halen. De status van de controles is eenvoudig op "active" of "inactive" te zetten, afhankelijk van wat er moet gebeuren. Voor elke controle moeten we de frequentie valideren: niet alle controles hoeven elke keer te worden uitgevoerd. De frequentie stel je per controle in een eigen veld in.
Voor de controles die van toepassing zijn, wordt in stap twee de regel gevalideerd en slaat een tabel in BigQuery de resultaten op. Dat is de laatste stap van de monitoring-dataflow; daarna wordt een nieuwe geplande procedure uitgevoerd. Alle resultaten worden in een rapport verzameld en gemaild naar geselecteerde ontvangers in het bedrijf. Dat kan er zo uitzien:

We hebben een kleurcodering gemaakt om de status van de resultaten snel te herkennen. Maar het rapport is eenvoudig zo in te richten dat er meer in staat. Elke klant kan op basis van eigen voorkeur en behoeften een actie voorstellen die in het rapport komt, bijvoorbeeld wat er moet gebeuren als er een fout wordt gevonden.
- Blauw: alle controles die niet konden worden uitgevoerd, ook gemarkeerd als "check_not_executed". Dat kan onder meer komen doordat de opgevraagde tabel of het veld niet bestaat, of doordat het formaat van de waarden niet overeenkomt met de voorwaarde;
- Rood: de controles die niet zijn geslaagd. We kunnen de validatie wel uitvoeren, maar het resultaat komt niet overeen met de gewenste waarde;
- Geel: in feite hetzelfde als rood, maar in dit geval is de controle gemarkeerd als waarschuwing;
- Groen: alle controles die konden worden uitgevoerd en waarvan het resultaat overeenkomt met het gewenste resultaat.
De resultaatwaarde toont relevante informatie over de uitkomst van de controle en de query die is uitgevoerd om die te valideren. Met die informatie kun je de query naar een console kopiëren en eenvoudig nagaan wat er misging. De corrigerende acties kan het bedrijf dat de e-mail ontvangt zelf uitvoeren, of het ontwikkelteam lost het op.
Afwijkingen of uitval kunnen niet alleen je bedrijfsresultaat schaden, maar ook je reputatie. Crystalloids biedt quality assurance om je te helpen fouten vroeg te vinden, voordat ze je bedrijf raken.
