Zo ga je verder dan de standaard testtechnieken
Elke tester kent de klassiekers. Grenswaardeanalyse, equivalentieklassen, beslissingstabellen, pairwise testing. Solide technieken die hun waarde al decennia bewijzen. Maar de meest interessante bugs, de bugs die gebruikers echt raken, duiken zelden op als je alleen die technieken gebruikt.
Wat traditionele technieken missen
Traditionele testtechnieken zijn ontworpen om het bekende goed te dekken. Ze volgen vooraf bedachte paden en controleren of de software doet wat is afgesproken. Dat is noodzakelijk, maar niet voldoende. Software gedraagt zich anders onder omstandigheden die niemand heeft voorzien. Echte gebruikers doen dingen die geen enkele requirementslijst beschrijft.
De vraag is dus niet of je de standaard technieken beheerst, maar wat je doet als die niet genoeg zijn.
Creatieve technieken die werken
Een paar technieken die buiten de klassieke set vallen maar aantoonbaar bugs opleveren.
De shoe test, afkomstig van James Bach: leg een schoen op het toetsenbord om willekeurige invoer te genereren. Dat klinkt absurd, maar het heeft zijn waarde bewezen als je wilt testen hoe software reageert op onverwachte, ongestructureerde invoer. Gebruikers doen soms dingen die hier niet ver van af zitten.
Chaos testing gaat een stap verder: schakel bewust servers uit, verbreek netwerkverbindingen, verstoor het systeem. Hoe veerkrachtig is de software als de omgeving niet meewerkt? In productie zijn dit geen theoretische scenario's.
Hallway usability testing is misschien de meest onderschatte techniek: vraag een collega die niets met het project te maken heeft om tien minuten met de software te werken. Onbevooroordeelde ogen zien dingen die jij na weken testen niet meer ziet.
De screenshot test laat een tool de hele dag of nacht schermafbeeldingen maken op basis van scenario's. Check ze achteraf op afwijkingen. Eenvoudig in te richten, effectief voor het opsporen van visuele fouten die handmatig testen mist.
Waarom het werkt
Al deze technieken hebben één ding gemeen: ze brengen de software in een situatie die de ontwerpers niet hebben voorzien. Juist daar zitten de fouten die gebruikers straks tegenkomen. Een tester die alleen test wat is afgesproken, vindt alleen de bugs die al bekend waren. Een tester die buiten de paden gaat, vindt de rest.
Elk softwareproduct heeft zijn eigen gedrag, eigenaardigheden en zwakke punten. Standaardtechnieken leggen de basis. Creatieve technieken leggen bloot wat de basis mist. Beide zijn nodig, maar alleen de combinatie levert betrouwbare software op.


