"Vroeger had je weken om je tests voor te bereiden, uit te voeren en er iets van te vinden. Dat kan en hoeft niet meer."
Time-box test tips
Een van mijn favoriete manieren om exploratory testen in te zetten, is time-box testen. Als tester ga je dan gedurende een vastgestelde tijd in een afgesloten ruimte geconcentreerd testen. Je gaat beschrijven en ervaren, zonder vooraf helemaal vast te leggen hoe je gaat testen. Enkele tips om dit goed op te zetten:
- Leg duidelijk je doelstellingen vast. Bijvoorbeeld ‘ik wil na een uur weten hoe deze functionaliteit werkt’. Door de doelstellingen goed te kiezen, wordt voorkomen dat testers dezelfde zaken dubbel testen.
- Zorg voor een afgesloten ruimte waar je niet uit je concentratie wordt gehaald.
- Test gedurende een vastgestelde tijd de functionaliteit en meld de geconstateerde bevindingen; wat kwam je tegen?
- Je kunt beknopt vastleggen wat je hebt getest in de beschikbare tijd. Maar houd de hoeveelheid testdocumentatie zo klein mogelijk. Gebruik een charter als format.
- Leg vast wat je doet en ziet. Geef na de tests een terugkoppeling waarin je vermeldt wat je gezien hebt en wat je advies is. Vermeld ook naar welke punten je nog meer wilt kijken.
- Hoe je zaken vastlegt, is vrij naar de persoon die het vastlegt. Dat past natuurlijk helemaal binnen het exploratory idee. Maak met elkaar wel goede afspraken over hoe je zaken vastlegt. Dat maakt het makkelijker om anderen (ook niet IT-ers) te laten testen.
Voor wie
Exploratory kan door alles en iedereen worden opgezet en uitgevoerd. Sterker nog een (eind)gebruiker kan waarschijnlijk nog beter exploratory testen opzetten en uitvoeren dan de tester. Dit komt doordat de gebruiker precies weet hoe hij wil dat een bepaald product zich gedraagt. Dit gedrag kan ook anders zijn dan door de tester gespecificeerd. Of het kan zijn zoals gespecificeerd, maar toch niet hetgeen wat de gebruiker wil.
Situaties waarbij exploratory testen niet geschikt is
Er zijn situaties waarin exploratory testen niet geschikt is: bijvoorbeeld wanneer de klant hoge eisen stelt aan de aantoonbaarheid en vastlegging van testen, zoals bij ‘life-critical’ software. Of bij het testen van een batch waarbij de testresultaten niet direct beschikbaar zijn. Ook in situaties die veel voorbereiding vergen – zoals het testen van ingewikkelde berekeningen, performancetesten, het testen van beveiliging of het testen van ‘usability’ – is exploratory testen niet de meest voor de hand liggende testtechniek om te gebruiken. Je wilt de nodige voorbereidingen immers liever ruim vóór het uitvoeren van de tests treffen, omdat je anders onnodig veel tijd kwijt bent tijdens het uitvoeren van je tests.