Een samenvatting van de presentatie die Erik Runhaar gaf op de Polteq Conferentie 2019.
Moeten we testtechnieken niet eens van de lijst schrappen, dat werkt toch niet meer?
Ik neem jullie mee naar de wondere wereld van de testspecificatietechnieken. Testtechnieken zijn uit – leve de testtechnieken.
Ik neem u mee terug naar de tijd van de eerste Polteq Conferentie (2006/2007). Op het Polteq conferentiepodium vergeleek Gerard Numan het TMap gedachtengoed met een religie, waarbij TMap het heilige boek van testen zou zijn. In die tijd had hij gelijk. TMap en zeker de technieken waren dé manier om van testen echt testen te maken. Je maakte testscripts door deze technieken in 5 stappen uit te werken. En op zich helemaal niet zo’n gekke gedachte. Je kreeg heel gestructureerd goede testgevallen en kon goed uitvoerbare testscripts maken. Ik hoef niet lang terug in de tijd, dat ik zelf in mijn trainingen nog de testtechnieken beschreef als persoonsonafhankelijk,
Een greep uit reacties die ik vaak krijg als het onderwerp technieken weer ten tonele verschijnt:
foutgericht. Een heerlijk overzichtelijke tijd was dat. Zonder social media, zonder smart devices, Internet of Things en ingewikkelde Ketensystemen.
Erik Runhaar op de Polteq Conferentie 2019
Maar de wereld is complexer geworden. Testtechnieken hebben het gevaar in zich van ‘inattentional blindness’. Inattentional Blindness is het fenomeen dat je jezelf beperkt in je blikveld als je je focust op zeer specifieke fouten. Je ziet het totale systeem niet meer, doordat je je focust op een klein deel of zelfs klein stukje functioneren van het systeem. Experience heeft zijn weg gevonden: Creativiteit, intuïtie, kennis en ervaring hebben aandacht gekregen in de test naast en soms zelfs in plaats van gestructureerde stappen.
Daarbij is het ook nog eens zo dat testtechnieken met hun lange voorbereidingstijd en mindere flexibiliteit, niet meer passen in een agile context. Hoe kun je van tevoren alles dichttimmeren als je niet weet wat je tegen komt? “You don’t know what you don’t know’: de Human factor, intuïtie en creativiteit van het moment vragen flexibiliteit.
Statistieken tonen aan dat bijvoorbeeld exploratory testen soms wel 3 keer meer defects oplevert dan testen met foutgerichte testtechnieken.
Maar we zijn er nog niet. Software wordt nog steeds opgeleverd met dusdanige fouten, dat producten moeten worden teruggeroepen, projecten ‘on hold’ worden gezet, bedrijven behoorlijke imagoschade oplopen of dat het zelfs mensenlevens kost.
Daarbij hoor ik mensen beteuterd constateren: tja, ik wist wel dat het kon, maar heb er niet aan gedacht. Het is niet per se de rocket-science van ongedachte combinaties die tot deze soms fatale fouten leidt.
Het is dan ook eerlijk te constateren dat ook experience zijn beperkingen kent. Ook experience based testing lijdt aan inattentional blindness. We zijn er dus nog niet met die ontwikkeling.
‘You don’t know, what you don’t know’ geeft precies die probleemstelling aan. Het geeft aan waar we in onze tests op moeten letten. Het geeft niet de handvatten. We moeten nog aan de slag met wat we weten. Daarom dan ook: ‘If you know, start thinking beyond’. We hebben daarvoor gelukkig de sleutels in handen: Testtechnieken. Niet meer zoals we gewend waren als leidraad of voorschrift. Wel als ondersteuning bij het creatief denkproces. Als hulpmiddel om bijvoorbeeld ongedachte combinaties te overwegen in de test. Als een soort ‘educated guess’. Een combinatie, waarvan we nu nog achteraf moeten constateren dat we die niet bedacht hadden, kan door het toepassen van een combinatietechniek ineens naar boven komen. Ter overweging. Om het creatief denkproces te ondersteunen, om de intuïtie op gang te kunnen helpen en om kennis en vaardigheden te combineren tot testgevallen die anders onbewust niet getest zouden worden.
Dit vereist een grondige kennis van testtechnieken. Niet alleen de oude technieken van de eerdere jaren, maar zeker ook de technieken voor analyse en automatisering, behoren in de gereedschapskist van de testvakman en -vrouw te zitten. Gereedschappen veroordelen niet tot het uitvoeren van alleen bepaalde klussen. Ze ondersteunen een klus om kwaliteit te kunnen leveren. Dát is waar technieken de tester helpen.
Een goede tester is, net als een goede timmerman, iemand die met de juiste tools op pad gaat, zodat hij of zij niet achteraf zegt; als ik dit nu eens zo of zo had gedaan, had ik die fout ook kunnen voorkomen.