Agile Testen
Door een verschuiving van traditionele watervalmethoden naar een Agile benadering bij softwareontwikkeling, verandert ook de rol van de tester. Waar de watervalmethode gericht is op aparte afdelingen, een rigide blauwdrukplanning en volledige documentatie is Agile gericht op het mengen van expertises, het geven van vertrouwen en het verzorgen van kennisborging bij de teams. Deze ontwikkeling maakt het leven testers interessanter en zorgt ervoor dat testers van alle markten thuis moeten zijn.
Agile betekent letterlijk behendig. Software wordt ontwikkeld in korte perioden die dezelfde structuur hebben. In elke periode (sprint) wordt een werkend deel van de software afgeleverd. Dit wordt incrementeel en iteratief genoemd. Deze manier van ontwikkelen zorgt ervoor dat de business goed in kan spelen op de veranderende wensen van de consumenten en technologische ontwikkelingen.
Testers zijn bij Agile onderdeel geworden van Scrum teams. Dit zijn teams van minimaal drie tot maximaal negen leden bestaande uit een Scrum Master, een product owner en developers. Bij watervalmethoden waren testers ondergebracht in een aparte kwaliteitsafdeling, wat vaak leidde tot communicatieproblemen. Ook vond het testen later in het ontwikkelingsproces plaats waardoor herstelkosten opliepen. Bij Agile wordt er vanaf de eerste sprint getest.
Deze aanpak van ontwikkeling heeft implicaties voor de werkzaamheden van een tester. Ten eerste is de kennis van hoe software gemaakt wordt belangrijk. Voorheen hadden testers over het algemeen beperkte kennis van hoe programmeurs software maakten. Doordat programmeurs en testers bij Scrum in dezelfde teams ondergebracht zijn en dus ook developers worden genoemd, kunnen zij van elkaar leren. De tester leert code, de programmeur leert kritisch testen.
Ten tweede is kennis van businessprocessen voor de tester belangrijk geworden. Doordat de Scrum teams direct gekoppeld zijn aan de business, zal een tester ook verstand moeten hebben van businessprocessen. Zo kan de tester de eisen van een productowner beter begrijpen. De kans dat een product gemaakt wordt waar ook vraag naar is wordt daardoor veel groter.
Ten derde is automatiseringskennis van belang. Omdat Scrum incrementeel van aard is, moeten testers hun testen kunnen automatiseren. Na elke sprint wordt immers een stukje werkende software opgeleverd. Omdat deze software invloed kan hebben op andere delen van het systeem moeten de testen die initieel zijn uitgevoerd herhaald worden. Hier zijn regressietesten voor nodig die een groot deel van het systeem dekken. Het kost teveel tijd om dit handmatig te doen en het is geestdodend.
Samenvattend: De Agile ontwikkelingsfilosofie heeft ertoe geleid dat het werk van een tester interessanter is geworden. Testers worden van begin af aan bij ontwikkeling betrokken als developer. Hierdoor is er naast het uitoefenen van het testvak de kans om wat te leren over programmeren en over de business. Kortom, de tester wordt ook behendig.