Hoe je een automatiseringsflow stress-test voordat je live gaat
Een kapotte taak faalt één keer en laat dat meteen weten. Een kapotte automatisering draait geruisloos door en faalt keer op keer, vaak wekenlang. Zo vang je fouten op voordat ze zich opstapelen.
Waarom automatiseringsfouten duur zijn
Een kapotte taak faalt één keer en laat dat meteen weten. Een kapotte automatisering draait geruisloos door en faalt keer op keer, vaak wekenlang voordat iemand het merkt. De asymmetrie is meedogenloos: automatiseringsfouten stapelen zich op, terwijl de signalen dat er iets mis is vaak subtiel zijn.
Breng eerst de aannames in kaart
Elke automatiseringsflow is gebouwd op aannames: dat de invoerdata in het verwachte formaat binnenkomt, dat de API binnen de timeout reageert, dat het downstream-systeem de payload accepteert. Voordat je een stresstest uitvoert, zet je deze aannames expliciet op papier. De meeste automatiseringsfouten zijn terug te voeren op een aanname die nooit is vastgelegd.
De drie faalmodi om te testen
Test op drie categorieën fouten: (1) randgevallen in de invoer, wat gebeurt er als de data misvormd, leeg of buiten het verwachte bereik is? (2) uitval van afhankelijkheden, wat gebeurt er als een downstream-API niet beschikbaar is? (3) volumestress, wat gebeurt er als de flow 10 keer de verwachte belasting binnenkrijgt?
De meeste teams testen het happy path grondig en de faalpaden nauwelijks. Draai die verhouding om voor flows die productiekritisch zijn.
Voer een pre-mortem uit op de automatisering
Stel je voor dat de automatisering al 3 maanden draait en een ernstig probleem heeft veroorzaakt. Wat deed hij? Werk vanuit die mislukking terug om te achterhalen welke aanname het begaf, welke test je niet hebt uitgevoerd, en welke alert je niet hebt ingesteld. Dit denkbeeldige faalscenario legt vaak een of twee kritieke randgevallen bloot die de standaard testsuite mist.
Voordat je live gaat
Drie dingen voordat je een automatisering met gevolgen activeert: een geschreven lijst van je aannames, een rollbackplan dat niet afhankelijk is van het functioneren van de automatisering, en een monitoringalert die afgaat bij een afwijkend outputvolume of foutpercentage. Geen van deze drie kost meer dan een uur. Samen hebben ze al productie-incidenten voorkomen die weken werk zouden hebben gekost om te ontrafelen.