16 mei Bestaat de handmatige tester
De afgelopen jaren is het belang van geautomatiseerd testen aanzienlijk toegenomen. Als een organisatie Agile of DevOps toepast is geautomatiseerd testen nodig om de kwaliteit te bewaken. Naast testers die testgevallen handmatig uitvoeren komen we daardoor steeds meer testautomatiseerders tegen. Voor mij was er altijd een duidelijk verschil tussen testers die hun testgevallen handmatig uitvoeren en testers die hier test-specifieke tools voor gebruiken. Ik wil wel benadrukken dat testers die hun testgevallen handmatig uitvoeren ook tools kunnen gebruiken. Denk aan tools om inputfiles te maken, tools om data te manipuleren, tools om aantekeningen te maken en tools om bevindingen te registeren. Het verschil is echter dat dit soort tools ondersteunend zijn aan het handmatige testen en bij geautomatiseerd testen de tests door een tool worden uitgevoerd.
Met de mindset dat er een duidelijk verschil is tussen handmatig testen en geautomatiseerd testen bekeek ik het programma van de conferentie TestCon in Litouwen. Ik was daar omdat ik zelf een presentatie en een tutorial over exploratory testen verzorgde. Op het programma stond de presentatie ‘There is no such thing as manual testing and other confusions’ door Ilari Henrik Aegerter. Daar wilde ik graag heen, dat zal je begrijpen. Als eerste wil ik benadrukken dat Ilari een absolute topper is op het gebied van testen en daarnaast ook een hele sympathieke kerel . Ik ben het met de meeste dingen die hij zegt helemaal eens, alleen op dit punt niet. Ilari heeft twee problemen met de term ‘manual testing’. Ten eerste denkt hij dat ‘it has a connotational load that implies inferiority. “Manual labor”, for instance, is regarded as something anyone can do.’ (de tekst tussen de quotes komt uit een mail van hem aan mij; na de conferentie hebben we de discussie via mail voortgezet). Het tweede argument wat Ilari gaf is ‘that the distinction between “manual” and “automated” does not exist with developers.’
Ik heb goed over deze argumenten nagedacht en ik ben tot de slotsom gekomen dat ik het met beide argumenten niet eens ben. De term handmatig roept bij mij geen negatieve associatie op. Handmatig gemaakte meubelen roept bij mij de associatie op van vakmanschap. Van unieke, degelijke meubelen. En handmatig testen is in mijn perceptie een vak en niet het makkelijkste vak. Als een tester handmatig zijn testgevallen maakt, uitvoert en documenteert (de volgorde van deze drie activiteiten is willekeurig) gebruikt hij/zij daarbij testontwerptechnieken, kennis van de business, dekkingsgraad-technieken en (vooral) zijn/haar ogen en hersens. De testautomatiseerder heeft vooral technische kennis, weet goed hoe tools werken en kan die tools ook op een efficiënte en effectieve wijze inzetten.
Het tweede argument van Ilari was dat dit onderscheid ook niet bij programmeurs wordt gemaakt. Maar er zijn wel meer dingen anders bij programmeren. Wel eens gehoord van exploratory programming? Of programming cases? Of test talen? Of lines-of-tests? Programmeren is gewoon een ander vak dan testen. Bij programmeren bouw je iets en bij testen onderzoek je wat er gebouwd is. En beide vakgebieden hebben hun eigen activiteiten en termen, dat moet je niet willen vergelijken.
Ik vind het zelf belangrijk om het onderscheid tussen handmatig testen en geautomatiseerd testen te maken. Waarom? Omdat er niet veel mensen zijn die beide goed kunnen. Over het algemeen is het verstandig om te zorgen dat je écht goed bent in één of enkele dingen en moet je niet proberen alles een beetje te kunnen. Je moet tegenwoordig écht goed zijn in iets om toegevoegde waarde te hebben. Daarnaast hebben handmatige testers andere skills dan testautomatiseerders. Zonder daar diep op in te gaan heeft de handmatige tester meer functionele/analytische skills en de testautomatiseerder technische skills. Dat wil overigens weer niet zeggen dat je niets van andere kennisgebieden moet weten maar je toeleggen op iets leidt mijns inziens tot betere professionals. Door het onderscheid tussen handmatig testen en geautomatiseerd testen te maken kunnen we gesprekken met (project)management over de benodigde kennis en kunde in onze teams beter voeren en kunnen testers heldere keuzes maken in hun carrière.
Hoewel Ilari en ik elkaars argumenten begrijpen en het tot op een bepaalde hoogte ook eens zijn met elkaar zijn we het toch niet helemaal met elkaar eens op dit punt. En dat is wat mij betreft prima, je hoeft het niet altijd met elkaar een te zijn. En op veel punten zijn we het wel eens met elkaar! Als een discussie met respect voor elkaar en elkaars mening kan worden gevoerd is dat alleen maar goed, dat houdt ons scherp. Ilari en ik spreken binnenkort allebei op een conferentie over testautomatisering, ik kijk er nu al naar uit om weer met hem over ons mooie vak in discussie te gaan.
Deze blog is met medeweten en instemming van Ilari geschreven. Jan Jaap is echter geheel verantwoordelijk voor de inhoud, met uitzondering van de quotes.
Wie is deze Squerister?
Jan Jaap Cannegieter
Jan Jaap heeft in zijn carrière uiteenlopende opdrachten uitgevoerd en organisaties geholpen op het gebied van requirements, quality assurance, testen, procesverbetering en regievoering. Bij zijn werk stimuleert en faciliteert hij medewerkers en opdrachtgevers om ons vakgebied zo goed mogelijk toe te passen.
De grootste drijfveer van Jan Jaap is mensen en organisaties helpen succesvoller te worden. Dit uit zich onder andere in het met veel energie en plezier verzorgen van cursussen en workshops alsmede het coachen van mensen op zowel harde als zachte vaardigheden.
Naast zijn werk bij onze opdrachtgevers is Jan Jaap ook regelmatig namens Squerist te vinden als spreker op internationale conferenties en heeft hij diverse boeken en artikelen gepubliceerd.
Scan de QR code om direct met Jan Jaap te linken.