Testtechnieken en Agile testen lijken vaak tegenstrijdig. Testtechnieken lijken te horen bij de tijd van de waterval, waarbij je veel tijd besteedde aan testvoorbereiding. En niet bij een tijd van Agile testen, waarbij je snel en flexibel moet testen. Toch ervaar ik ze als een krachtig, sterk middel, juist binnen Agile testen.
Het toepassen van een testtechniek kost tijd, dat zal ik niet ontkennen. Maar het heeft zeker een meerwaarde. Testtechnieken geven een houvast bij een test. Ze zijn meestal een vrij snelle methode van testvoorbereiding. En, eenmaal opgesteld, kunnen ze ook nog eens een basis zijn tot waardevolle functionele documentatie.
Testtechnieken tijdens testen
Als je je testtechnieken, zoals Datacombinatietest en Elementaire Vergelijkings Test, goed beheerst, ben je in staat deze elk moment in te zetten. Vaak is het verstandig ze te gebruiken, als er een onderdeel te testen valt waarbij de dekkingsgraad van belang is. Je wil zeker weten dat je voor dit onderdeel voldoende varianten hebt getest. Denk hierbij bijvoorbeeld aan ketentesten, waarbij je zeker wil weten dat je alle mogelijke processtappen een keer getest hebt. Of aan ingewikkelde business rules, die te belangrijk zijn om op de gok te testen.
Wanneer je zo'n onderdeel in de story, of soortgelijke beschrijving, ontdekt, is de manier van werken eigenlijk niet zoveel anders. Je kiest de testtechniek uit, die naar jouw mening het beste bij het onderdeel past. Je past hem toe. En daarna voer je de testcases uit. Het belangrijkste verschil zit hem in het moment van toepassen. Bij waterval paste je deze testtechnieken al vaak ruim van tevoren toe. Nu pas je hem vrij vlak voor het testen toe. Van belang is om de testtechniek pas toe te passen, als de informatie, die je wilt testen correct is. Of er minimale wijzigingen verwacht worden.
Het moment wordt dus niet bepaalt door de gehele status van het proces, zoals bij waterval. In plaats daarvan wordt het moment alleen bepaalt door het moment waarop de informatie, nodig voor de testtechniek, gereed is. Hierna hangt het van verdere afspraken binnen je team af, wanneer je de testvoorbereiding uitvoert. Dit kan aan het begin van de sprint, als je uit ervaring weet dat je aan het eind van de sprint vaak veel werk hebt. Maar dit kan ook gewoon als de taak op het scrumboard de bovenste taak is. Het kan zelfs een onderdeel zijn van een algehele taak "testuitvoering". Wat de beste optie is, is echt organisatie afhankelijk.
Testtechnieken als communicatiemiddel
Testtechnieken hebben vaak als voordeel dat ze door andere teamleden, zoals ontwikkelaars, makkelijk te begrijpen zijn. Zelfs zonder uitleg kan een ontwikkelaar de testtechniek vaak voldoende begrijpen, om de informatie eruit te halen. Zeker bij technieken als de procescyculstest, die veel lijkt op ontwerptechnieken waarmee ontwikkelaars veel te maken hebben. Als je een testtechniek toepast, kan deze daarom ook meteen gebruikt worden om wat ingewikkeldere informatie zo weer te geven, dat iedereen binnen het ontwikkelteam de informatie op dezelfde manier begrijpt. Hierbij moet je vooral denken aan technieken die een schematische weergave geven van de werkelijkheid, niet aan technieken die vooral tot een opsomming van testcases leiden.
Als er een moeilijker onderdeel staat in de story, kan je daarom als tester je team helpen met je testtechnieken. Je kan al in een vroeg stadium, misschien zelfs al bij bijvoorbeeld de backlog refinement, je kennis inzetten om je team te helpen tot een duidelijk en begrijpelijk te bouwen story te komen. Hierdoor gebruik je je vaardigheden als tester ruimer en tevens heb je alvast een start gemaakt met de testvoorbereiding. Wat later weer tijd scheelt.
Testtechnieken als documentatie
Als je je testtechnieken goed toepast, zijn het vaak kleine, compacte, duidelijke schema's, waarin veel belangrijke informatie terugkomt. Door de compactheid is het vaak makkelijk om er aanpassingen in door te voeren, mochten er wijzigingen komen. Zoals al eerder geschreven, zijn ze vaak ook begrijpelijk voor andere teamleden en anders eenvoudig uit te leggen. Door deze combinatie zijn testtechnieken vaak een mooie start voor documentatie.
Documentatie is ook bij Agile projecten vaak een ondergeschoven kindje. Maar ook bij deze projecten ontstaat vaak een kennisgebrek. Omdat je de testtechnieken vaak op wat uitgebreidere of ingewikkeldere delen gaat toepassen, zijn dit regelmatig ook de onderdelen waarvan de kennis niet volledig in de hoofden van het team zit. Dit maakt alleen al het vastleggen van deze technieken in algemene documentatie tot een goede basis voor de documentatie.
Gebruik dus je testtechnieken
Agile testen en testtechnieken gaan goed samen. Blijf dus je testtechnieken leren, breidt je kennis uit en pas ze toe. Ook, nee juist, binnen een Agile project. Maak gebruik van de begrijpelijkheid om zowel voorafgaand als tijdens als na de bouw van een onderdeel de communicatie en kennis binnen het team te verbeteren. Ze zijn niet voor niets uitgevonden, daar verandert Agile niets aan.
Geen opmerkingen:
Een reactie posten
Opmerking: Alleen leden van deze blog kunnen een reactie posten.