dinsdag 22 december 2009

Nieuw elan voor Exploratory Testing?

Dat ik een hartstochtelijk liefhebber ben van Exploratory Testing (ET) mag duidelijk zijn. Deze techniek wordt echter erg vaak misbruikt door onwetende pragmatici onder ons voor 'doe maar wat'. Erg jammer, want ik ken geen techniek die zoveel kracht en potentie in zich heeft. Het begrip 'exploratory' dreigt nu door veelvuldig misbruik naar de achtergrond te verdwijnen. Laten we dat een halt toe roepen!

Als je momenteel naar de ontwikkelprocessen in de ICT kijkt komen de begrippen Agile, Scrum en Extreme Programming je als toverwoorden tegemoet. Allen iteratieve ontwikkelmethoden met meer of minder vrijheid in het bepalen van de opbouw van het uiteindelijke product. Of ik het met de ontwikkelmethoden eens ben doet niet ter zake, maar er zijn ineens talloze lichtpuntjes voor ET te zien. De eisen die aan medewerkers van dit soort ontwikkeltrajecten worden gesteld, komen overeen met de hoge eisen die je aan de testers voor ET trajecten stelt. De korte iteraties in het bouwen en testen van de software lenen zich uitstekend voor dat waar ET zich in onderscheidt. Geen lange specificatietijd vooraf maar direct in korte sessies ontwerpen en uitvoeren van testen op bijvoorbeeld functionaliteiten (user stories of in iets groter verband: use cases) met een hele korte feedback loop en veel contact met gebruikers en ontwikkelaars. Sla de boeken over ET er maar op na, het is bij uitstek een methode voor het testen binnen iteratieve ontwikkelprocessen. Laten we alleen niet vergeten een geautomatiseerde regressieset op te bouwen die steeds een groter deel van het systeem in wording op de pijnbank kan leggen.

Kijkend naar de gemiddelde tester onder ons, dan zie ik tot mijn schrik veel 'klassiek' geschoolde mensen die vast lijken te zitten in een keurslijf, vechtend tegen de effecten van deze iteratieve ontwikkelmethoden. Ze zijn star door onwetendheid en onzekerheid, hebben tijd nodig om specificaties op te stellen en om alle voorbereidingen te treffen. Ze worden soms de bottleneck in een ontwikkeltraject. Was het niet zo dat wij juist waarde wilden toevoegen? Testers kijk uit dat je de boot niet mist! Wees flexibel en pragmatisch. Met alle relevante testprincipes in je achterhoofd, al je kennis en ervaring paraat, moet je in staat zijn samen met de ontwikkelaars meer 'exploratory' vaardigheden toe te passen. Verdiep je nog eens in het fenomeen dat ET heet en ga het toepassen. Weet je, je werk wordt opeens weer leuk! Je kunt de ontwikkelaars bijhouden. Sterker nog, je bent in staat samen met de gebruikers en ontwikkelaars de gevraagde producten binnen de tijd te ontwikkelen en te testen. Dat is zinvol bezig zijn, dat is waarde toevoegen. In plaats van verdedigen waarom testen de beperkende factor is help je nu op een zinvolle manier mee een product te ontwikkelen en ben je weer waarde aan het toevoegen.

Ook dat is de Nieuwe Tester!