1000 fouten, één Google Sheet en vijf uur dat ik nooit meer terugkrijg
Elke bug heeft een verhaal. Deze begon met een leugen: "Op mijn machine werkt het wel."
We testten een functie voor data-import voor een leadgeneratiebedrijf. Het leek simpel. Je klikt op een knop, uploadt een bestand en de data wordt geladen.
De meeste mensen gaan ervan uit dat deze functies werken. Testers bestaan om die aanname te ontkrachten.
Het happy path is een valstrik.
Als je een schoon Excel-bestand uploadt, slaagt het systeem. Je gaat lunchen. Je denkt dat het werk gedaan is. Als je daar stopt, lever je kapotte code op. Een klant zal de fout op een maandagochtend in productie ontdekken.
Het probleem was een Google Sheet.
Echte gebruikers gebruiken geen schone Excel-bestanden. Ze gebruiken rommelige Google Sheets. Ze creëren chaos in spreadsheets en verwachten dat systemen ermee om kunnen gaan.
Toen we een Google Sheet uploadden, faalde het systeem. Het produceerde meer dan 1.000 fouten. Dezelfde data en dezelfde knop veroorzaakten een totale instorting omdat het formaat veranderde.
Daarna testten we de datakwaliteit.
- Een paar ongeldige rijen? Het systeem sloeg ze over en ging verder.
- Honderden rommelige rijen? Het systeem crashte.
De validatielogica werkte voor kleine fouten. Het faalde toen het werd geconfronteerd met een berg afvaldata.
We besteedden vijf uur aan het debuggen hiervan. We gaven het bestand, de browser en de data de schuld. We gaven zelfs de koffie de schuld.
Die vijf uur waren goedkoop. Het alternatief was veel duurder. Als een klant deze bug vindt, verliezen ze het vertrouwen in je product. Voor bugs in de testfase betaal je met tijd. Voor bugs in productie betaal je met klanten.
Ik betaal liever met tijd.
Om echte bugs te vinden, moet je je mindset veranderen. Vraag niet of de software werkt. Vraag hoe je hem kunt breken.
Stop met denken als de ontwikkelaar. Begin te denken als:
- De luie gebruiker die het verkeerde bestandsformaat uploadt.
- De chaotische gebruiker met samengevoegde cellen en lege rijen.
- De bulkgebruiker met 4.000 vervuilde records in plaats van 10 schone.
- De probleemzoeker die precies doet wat hij niet zou moeten doen.
Software breekt op de inputs die je niet verwacht.
De "simpele" functies zijn het gevaarlijkst. De importknop en het zoekveld zien er onschadelijk uit. Dat zijn ze niet.
De volgende keer dat een functie het happy path doorstaat, wees dan degene die vraagt: "Wat als ik het slechtst denkbare bestand upload?"
Ga het dan maar doen.
