De recent gepubliceerde artikelen in Computable waarin testers als ‘creatieve zeikerds' worden betiteld, bewijzen de tester en daarmee de ict geen goede dienst, vinden Kees Blokland en zijn collega's van Polteq IT Services. Iedereen mag zijn zegje doen, van pre-sales consultants tot service managers van softwarebouwers, behalve de testers zelf. Als rasechte tester legt Blokland hier uit hoe het nu eigenlijk zit met het vak van tester.
De discussie over de status van de professie van tester verdeelt de wereld in twee kampen. In het kamp één bevinden zich de onvolwassen ontwikkelorganisaties waar men zich regelmatig afvraagt wat de toegevoegde waarde is van testen. In dat kamp haalt men op grote schaal oude koeien uit de sloot, zoals: testen staat gelijk aan het proberen down te krijgen van de computer, testen is saai en testen bestaat alleen maar uit het achter een beeldscherm uitvoeren van tests. Testen wordt hier gezien als een fase die alleen maar geld kost en waarop je gemakkelijk kunt bezuinigen als de tijd of het geld op is. Test als handige projectbuffer, met alle gevolgen van dien. Er zijn (helaas) genoeg voorbeelden in het nieuws van systemen die onvoldoende getest in gebruik zijn genomen. Steeds vaker worden er Kamervragen gesteld over belabberd functionerende informatiesystemen die de maatschappij ernstige schade toebrengen.
Niet zo interessant
Kamp één is ook het kamp waar men mensen rekruteert die wel een tijdje willen gaan testen , wachtend op iets beters. Het beroep van tester is niet zo interessant, want je máákt niks, is de stelling. Als de bijbehorende arbeidsvoorwaarden in dit kamp dan ook nog tegenvallen, is er geen enkele reden voor goedwillende testers om zich verder in het vak te verdiepen en er een volwaardige carrière in te zien. Tenenkrommend namen wij kennis van de stelling: ‘Wij hebben geen testers nodig, want de functionele test doet de klant'. De klant als tester is oud nieuws. Testers worden in kamp één als zeikerds gezien en als ‘de binaire denkers in de ict'. Het mag duidelijk zijn dat dit meer zegt over de kamp één bewoners zelf dan over testers: schijnbaar steekt men liever de kop in het zand of gaat er anderszins onprofessioneel mee om wanneer iemand fouten in zijn of haar software vindt. In kamp één heeft men nog een lange weg te gaan.
In kamp twee weet men dat testen onlosmakelijk onderdeel is van het ontwikkelproces en is de hele discussie over ‘de status van tester' al lang verwezen naar het land van de non-issues. Testen wordt gezien als een ontwikkelactiviteit: samen met ontwerpers en programmeurs werken testers mee aan de succesvolle realisatie van het informatiesysteem. Geholpen door een onafhankelijke blik, stelt de tester gekozen oplossingen ter discussie, waarmee hij/zij een aantoonbare bijdrage levert aan het product. De bewoners van kamp twee zijn de volwassen ontwikkelorganisaties, allemaal gepokt en gemazeld in de weerbarstige ict-praktijk van de afgelopen 10 tot 15 jaar.
Bewuste keuze
Wat verder opvalt, is dat de arbeidsvoorwaarden van testers minstens vergelijkbaar zijn aan die van ontwerpers en programmeurs. Men weet dat ervaring als tester een uitstekende basis biedt voor een zeer breed spectrum aan functies in de ict (veel breder dan ervaring als programmeur). Overigens kiest men juist in dit kamp vaak bewust voor een carrière in het testvak…
De klanten van kamp twee zijn er aan gewend dat er een kwalitatief goed product wordt opgeleverd dat niet meer wemelt van de fouten. Uiteraard participeert de klant actief in agile projecten, maar dan vooral om bij te dragen aan het stabiel krijgen van de systeemspecificaties en niet om programmeerfouten op te sporen. In kamp twee wordt er opgekeken naar testers. Zij geven met een goed gefundeerde mening over de kwaliteit van het informatiesysteem en mogelijk resterende risico's het noodzakelijke houvast voor de ‘business' om te besluiten tot vrijgave.
Moeilijk
Waarom is het zo lastig om goede testers te vinden? Het antwoord is eigenlijk heel eenvoudig: testen is namelijk moeilijk. Gelukkig wordt dat meer en meer onderkend en zijn er goede opleidingen voor testers, zowel in het reguliere onderwijs als bij gerenommeerde opleidingsinstituten en zijn er internationale certificeringprogramma's voor testfuncties.
Waarom is testen moeilijk? Een goede tester heeft domeinkennis, kennis van de ict en veel testkennis. Een goede tester heeft vervolgens sterke analytische vaardigheden om de technieken die horen bij testwerkzaamheden te kunnen toepassen (en is dus per definitie nogal slim!). Een goede tester heeft bovendien goed ontwikkelde sociale en communicatieve vaardigheden. Het melden van onvolkomenheden in iemands werk (bijvoorbeeld een fout in de software) vergt namelijk de nodige takt . Ook het rapporteren over de kwaliteit van het informatiesysteem en de mogelijke risico's bij implementatie vergen glasheldere communicatie.
Testers moeten zich staande kunnen houden in een wereld vol imperfecties: manco's in systeemspecificaties, software die niet of nauwelijks getest is door de programmeurs en (te) late oplevering van de software waardoor er minder tijd over is voor testen. Juist dan is er reden om nog meer te testen. Redeneer maar mee: vertragingen worden vaak veroorzaakt door tegenvallers, tegenvallers verhogen de kans op fouten in de software, de kans op fouten verhoogt het productrisico en verhoogde productrisico's vereisen meer testinspanning! Enige stressbestendigheid bij de tester is dus wel op zijn plaats. In agile projecten, van nature erg dynamisch, zijn testers die beschikken over alle genoemde kennis en vaardigheden hun gewicht in goud waard!
Opbouwend
Een tester is per definitie opbouwend bezig: door het blootleggen van onvolkomenheden in de software stelt de tester de programmeurs in staat het informatiesysteem te verbeteren. Daarnaast bouwt elke uitgevoerde test mee aan het vertrouwen dat men zoekt in het informatiesysteem om het met een gerust hart op het gewenste moment te kunnen vrijgeven.
Om dit te kunnen ontwikkelt de tester allerlei producten, van herbruikbare testgevallen die traceerbaar zijn naar de systeemspecificaties en helder gedocumenteerde bevindingenrapporten tot geautomatiseerde testscripts. Het analyseren van de systeemspecificaties (in welke vorm dan ook) en het opstellen van testgevallen (in welke vorm dan ook) is een creërende bezigheid die in niets onderdoet voor het programmeren van de code. De invloed van de tester op het eindproduct is zeker niet minder dan die van de programmeur of de ontwerper. Herkent u dit niet? Helaas, dan bevindt u zich in kamp één.
Stille kracht
De stille kracht van testen ligt overigens niet zozeer in detectie maar in preventie: het voorkomen dat er fouten ontstaan door de systeemspecificaties te helpen verbeteren (door review op inhoud en op testbaarheid) nog voordat de programmeur aan het werk gaat.
Voorlopig is foutloze software nog niet te verwachten. Mensen die in de wieg gelegd zijn als tester zijn dus welkom. Gezien de noodzakelijke eisen aan communicatieve en sociale vaardigheden zitten we niet op te wachten op 'zeikerds'.
Kees Blokland, Polteq IT Services BV
Met dank aan Anja Bakker, Theo Degenhart, Martin Pol, Huib Schoots, Wicher Smith en Ruud Teunissen
Software-testen en bouwen hoort tegenwoordig bij softwareontwikkeling. Zoals spijker en schroef bij de gereedschapskast van een timmerman.
Goed stuk, en goed geschreven, complimenten voor Kees. En wat Jan schrijft klopt helemaal (hij vergeet Valori nog, met ruim 150 “kamp twee” testers). Wij zien dat juist die onder startende collega’s veel ‘high potentials’ zitten die heel goed door hebben dat je in het testvak carriere kunt maken.
Met interesse heb ik het artikel gelezen. Ik ben het helemaal eens met de stelling dat testen vaak een ondergeschoven kindje is in het software ontwikkelingsproces. Helaas mis ik nog meer.
Het artikel focust zich op het testen om alle programmeerfouten uit de software te halen. Een tweede testfase betreft echter het testen op gebruiksvriendelijkheid van de software: is de interface logisch en bruikbaar? Reageert het programma snel genoeg en zoals verwacht door de gebruiker? Het gaat er dus niet alleen om of het programma werkt, maar ook of het werkbaar is!
Deze stap wordt nog veel vaker overgeslagen in het ontwikkelingsproces en dat is erg jammer. Klanten zullen wellicht reageren wanneer hun aangekochte product niet goed werkt. Maar wanneer ze veel moeite hebben met het gebruik ervan, zullen ze dit eerder aan hun eigen onkunde wijten dan aan een slechte usability. Feedback zal dus maar weinig gegeven worden, maar het kost het bedrijf wel geld. Makkelijk bruikbare producten verkopen namelijk ook beter dan slechte en zullen sneller via mond-op-mond reclame aanbevolen worden aan anderen!
Lenny de Rooy
Website Usability Consultant
Nog nooit eerder een artikel gezien dat de waarheid over testers zo kristalhelder weet neer te zetten.
-improving the world one bug at the time-