Testen is een vak op zich. Sterker nog, een Tester doet binnen een project vaak veel meer dan zich bezighouden met technologie en alleen testen of het allemaal wel goed werkt. Naast zijn eigenlijke expertisegebied zijn er drie taken of rollen op het scheidsvlak van IT en business die een Tester binnen een project kan vervullen en die het vak van Tester razend interessant maken.
De Tester als (Business) Analist
Een dedicated Business Analist, iemand die de eisen waar de software volgens de opdrachtgever aan moet voldoen vertaalt naar informatie waar het ontwikkelingsteam of de leverancier daadwerkelijk mee aan de slag kan, is een luxe binnen een project. Vaak is een Business Analist alleen in de initiële fase van een project betrokken geweest (en dat kan zo maar jaren geleden zijn), of er is helemaal geen Business Analist. En als er wel een Business Analist betrokken is, is deze lang niet altijd even bekend met de (nieuwe) applicatie. Wie anders dan de tester is in die gevallen de aangewezen persoon om de schakel te zijn tussen gebruikers, Business Analist en leverancier?
Als Tester zit je van nature toch al tussen de ontwikkelpartij en de business in. Of er nu volgens de Agile- of Waterval-methodiek gewerkt wordt: er wordt iets ontwikkeld, vervolgens wordt er getest en daarna kan de business de nieuwe software of nieuwe features gaan gebruiken. Idealiter gebeurt dit alles in samenwerking, maar in de praktijk is het soms lastig voor ontwikkelaars en business om elkaar direct goed te begrijpen. Zo is de business bijvoorbeeld niet altijd op de hoogte van de mogelijkheden en beperkingen van de applicatie. Of snappen developers niet altijd waarom er nu precies een aanpassing nodig is; daar is immers toch al een slimme, snelle of veel makkelijkere workaround voor? De Tester kan met zijn opgedane kennis van het systeem én van de business rules en requirements helpen met het maken van de vertaalslag, om zo wens en oplossing goed op elkaar te laten aansluiten. In die zin vervangt een Tester de Business Analist niet, maar helpt hij deze om net even die ene requirement zodanig te specificeren dat het deel van de software werkbaar is voor de gebruiker en ook echt te realiseren is door de developer. Zo kan het zo maar zijn dat je als tester jouw slim bedachte oplossing later terugziet in het eindproduct!
De Tester als Bewaker/Verbeteraar
Binnen een IT-project worden er aan de start vaak goedbedoelde afspraken gemaakt. Niet alleen over wat er precies gebouwd gaat worden, maar ook op welke manier, of hoe dat precies gaat gebeuren. Hoe ziet het proces er precies uit en welke hulpmiddelen/tools worden er ingezet om dat proces voor iedereen zo soepel mogelijk te laten verlopen? Vaak komt dat erop neer dat men probeert om best practices uit het Scrum/Agile gedachtengoed te hanteren. Er wordt besloten om een bepaald aantal keer per week te stand-uppen en van tevoren wordt er gepland wat er in een bepaalde periode in sprints opgeleverd gaat worden. Gebruikers, Ontwikkelaaars en Testers zitten hierbij fysiek meestal in dezelfde ruimte om snel te kunnen schakelen en echt vanaf het begin samen aan het product te werken. Maar als zo'n project dan eenmaal onderweg is, blijkt het dat deze goedbedoelde afspraken lang niet altijd worden nageleefd: 'Waarom zouden we een standup houden? Management is niet aanwezig en er is toch niets veranderd ten opzichte van twee dagen geleden.' 'We gaan de planning nooit halen! Door veranderende of ontbrekende requirements of eenlastig op te lossen bug is het vorige increment nog helemaal niet af.' 'Als eindgebruikers zijn we eigenlijk maar weinig betrokken geweest bij de inrichting van het product, pas achteraf wordt gevraagd wat ik er nu eigenlijk van vind.'
Ook voor de Scrum Master-rol geldt, net als voor de rol van Business Analist, dat er niet altijd een dedicated persoon aanwezig is om deze rol binnen het project te vervullen. Zelfs als deze er wel is, kan het voor het team zeer nuttig zijn als een Tester zich wil opstellen als bewaker/verbeteraar van het werkproces. Doordat de tester tussen business en development in zit, zit hij in de ideale positie om een zeer groot deel van het proces te overzien en daarover mee te denken.
Als de business stoeit met het opleveren van werkbare requirements, kan een Tester eenvoudig opperen om een sessie te organiseren waar ook een developer en een tester bij aansluiten, om zo vanuit drie invalshoeken gelijk tot de ideale oplossing te komen. Ziet men het nut van een stand-up niet? Dan kan een Tester uitleggen waarom het belangrijk is dat de verschillende betrokkenen van elkaar weten waar ze mee bezig zijn en of er nog problemen te verwachten zijn die het proces kunnen bemoeilijken. Als je als Tester je verantwoordelijkheid pakt om mee te denken, maak je je functie niet alleen leuker en interessanter voor jezelf, het team kan ook veel baat hebben bij jouw inzichten.
De Tester als Vertegenwoordiger/Expert
Testers die langere tijd bezig zijn met dezelfde software, zullen automatisch veel kennis over de werking ervan opdoen. Die kennis kan vaak goed van pas komen bij testgerelateerde taken, maar ook bij taken die minder met testen te maken hebben. Een mooi voorbeeld van een testgerelateerde taak waarbij kennis van het systeem goed van pas komt, is het begeleiden van een gebruikersacceptatietest (GAT). Dat is een test waarbij een eindgebruiker de end-to- end businessflow test om te zien of alles correct en naar wens werkt. De Tester is beschikbaar om vragen te beantwoorden en te zorgen dat de eindgebruiker ook daadwerkelijk alle paden en functionaliteit onder ogen krijgt. Daarnaast worden uiteraard de bevindingen van de GAT verzameld en door de Tester weer vertaald naar, voor development werkbare, aangepaste of nieuwe requirements. De Tester vertegenwoordigt in die zin de wens van de gebruiker richting development. Echter, in het geval het niet direct mogelijk is voor development om exact de gewenste oplossing voor de business te realiseren, dan zal de Tester de ontwikkelaars moeten vertegenwoordigen. De Tester zal dan namens de ontwikkelaars moeten pogen het nieuws richting de business zodanig te brengen dat die accepteert dat er voor een alternatieve oplossing wordt gekozen of dat er in een later stadium alsnog aan de gestelde requirements wordt voldaan. Vanuit de rol van vertegenwoordiger of expert kan de Tester zo helpen om gekozen oplossingen uit te leggen en zacht te laten landen bij de eindgebruikers.
Ook zijn er nog taken waarbij de expertise van een Tester van past komt, die minder direct iets met testen te maken hebben. Denk bijvoorbeeld aan het leveren van input voor een handleiding voor eindgebruikers of het meewerken aan een concurrentievergelijking. Een Tester die meer en meer uitgroeit tot een expert, kan zichzelf op heel veel manieren nuttig maken binnen een organisatie en zo ook zijn eigen werkdagen afwisselend houden.
Dus...
Kijken of het werkt kan dan wel de kern zijn van wat een Tester doet, er zijn zo veel meer manieren waarop een proactieve Tester kan bijdragen aan het eindresultaat. Door je positie tussen de business en ontwikkeling, kun je de schakel zijn die ervoor zorgt dat de partijen elkaar beter begrijpen. Daarnaast kun je het team helpen om effectief en efficiënt te werken door mee te denken over het agile werkproces en kun je binnen een organisatie snel uitgroeien tot een vertegenwoordiger en expert op het gebied van het systeem dat je test.
Enthousiast geworden?
Nu je weet hoe afwisselend het leven van een tester eigenlijk is, zie je een carriëre als tester misschien wel helemaal zitten! Als je meer wilt weten, kijk dan op www.werkenbijcomputest.nl voor een overzicht van openstaande vacatures.