Naar de inhoud
Floris Knol
NLEN

Post

Een groene toets bewijst niets tot je hem rood hebt gezien

Een potloodtekening van een rookmelder aan een plafond met een groen lampje. Een hand houdt een brandende kaars eronder, een dun sliertje rook stijgt op.

Een groene toets bewijst niets tot je hem rood hebt gezien.

Een rookmelder met een groen lampje zegt dat hij aanstaat. Niet dat hij werkt. Je weet pas of hij werkt als je er een beetje rook onder houdt en hij gaat piepen.

Bij toetsen van software en bij controles van agents gaat het precies zo. Een groene uitslag voelt als bewijs, maar hij is alleen bewijs als je weet dat dezelfde toets rood zou zijn geworden als er iets mis was.

Daarom doe ik na elke nieuwe toets of controle hetzelfde: ik breek de aanname opzettelijk.

  • Een grens per uur op het aantal berichten? Zet hem op 600 en kijk of de toets alarm slaat.
  • Een hek dat lekken tegenhoudt? Haal het weg en kijk of het lek gevonden wordt.
  • Een controle op bijlagen? Draai hem om en kijk of dat opvalt.

En dan het belangrijkste: wordt de juiste controle rood? Niet zomaar iets. Er is een verschil tussen "de suite faalt" en "de toets die hierover gaat faalt". Het eerste kan door iets anders komen. Het tweede bewijst dat de toets het gedrag bewaakt dat ik wilde bewaken.

Dat levert vaker iets op dan je zou denken. Bij een grote batch toetsen kwam een patroon steeds terug: een onderdeel dat compleet gebouwd is, met alle goede onderdelen erin, maar dat door niemand wordt aangeroepen. Alle losse toetsen zijn groen, want elke toets roept het onderdeel zelf aan. Het werkt in de toets en nergens anders. Zo'n fout vind je alleen als je telt of er ook echt iets naar verwijst, en dan nog zonder het commentaar mee te tellen, want een uitgecommentarieerde aanroep telt niet.

Een ander voorbeeld is een verschil van twee: er werd 1400 verwacht en er kwam 1398. Dat zie je met geen enkele blik op de uitslag, het was alleen te vinden omdat de toets expres kapot was gemaakt en daarna precies de juiste melding gaf.

Hoe pak je dit praktisch aan?

  1. Schrijf de toets.
  2. Breek de code die hij bewaakt, in een kopie.
  3. Kijk of de toets rood wordt, en of het de juiste is.
  4. Herstel en kijk of hij weer groen wordt.

Vier stappen, tien minuten, en je weet daarna iets dat je daarvoor alleen hoopte.

Hoe weet jij dat een controle in jouw proces echt iets zou opmerken?

#AIagents #Testen #Kwaliteit #Software

Alle stukken

Zie ook