Voor de traditionele tester betekent de stap naar devops een grote verandering. Devops betekent werken in multidisciplinaire teams, waarbij iedereen gezamenlijk verantwoordelijk is voor het eindproduct. In mijn vorige blog schetste ik hoe de transformatie naar devops werkt. In deze blog ga ik in op de vraag: wat wordt er van een tester in een devops-team verwacht?
Binnen devops moet een tester multifunctioneel zijn. Naast zijn testspecialisme moet hij kennis hebben van beheer, businessanalyse of development; het zogenaamde T-shaped-profiel.
In de ideale situatie bestaat een devops-team uit personen die elkaar aanvullen op het terrein van specialisme maar ook op andere kennisgebieden. Doordat de leden elkaar complementeren, is het team in staat zelfstandig een product of functionaliteit te ontwerpen, bouwen, testen, deployen en onderhouden.
Een tester in een devops-omgeving kan gespecialiseerd zijn in testen, maar ook businessanalyse uitvoeren of een operationsmedewerker helpen met incidenten in productie. De T-shape komt dan van de lange pijler voor de specialisatie en de kortere pijlers voor de mogelijkheid om ook in andere vakgebieden een bijdrage te kunnen leveren (zie afbeelding 1).
Architecteur & design devops onderscheidt hierin acht vakgebieden:
- Business value-optimalisatie
- Businessanalyse
- Programmeren
- Continuous delivery
- Testspecificatie
- Infrastructuur engineering
- Security, risk & compliance
Vaardigheden
De theorie van de DevOps Agile Skills Association (DASA) benoemt vier vaardigheden waarover een devops-teamlid zou moeten beschikken. Dit zijn:
- Courage: coaching, zelfvertrouwen, pro-activiteit, reflectie en flexibiliteit.
- Teambuilding: samenwerken, open communicatie, wederzijdse verantwoording, gemeenschappelijk doel en het begrijpen van elkaars standpunt.
- Devops leadership: ondersteunen, nederigheid (geen ruimte voor ego’s), ruimte voor feedback en weten wanneer een stap terug te doen.
- Continuous improvement: de Kaizen-mindset, out-of-the-box-denken, nieuwsgierigheid en kennisdeling.
Binnen het DASA competence framework wordt een schaal gebruikt van vijf niveaus: beginner, competent, bekwaam, expert en master. Van een devops-teamlid wordt verwacht dat hij zich voor alle vier skills ten minste op het niveau ‘bekwaam’ bevindt .
Automatisering
Een kernprincipe van devops is om zoveel mogelijk te automatiseren. Binnen het vakgebied testen is automatisering alom bekend en wordt het veelal voor regressietesten toegepast.
Naast de regressietesten is er vooral bij de kleinere testen, zoals de unit- of systeemtesten, snel winst te behalen door deze te automatiseren. Functionele testen en ketentesten zijn vaak complexer, waardoor het automatiseren meer resources zal kosten (zie afbeelding 2).
Als tester is het dus belangrijk om goed te begrijpen op welk niveau er wat kan worden geautomatiseerd en hoe de risico’s opwegen tegen de baten.
Maar een tester moet ook zijn ogen open houden voor andere gebieden waarop met automatisering winst valt te behalen. Bij veel organisaties krijgen devops-medewerkers ten minste 10 procent van hun tijd ter beschikking om onderzoek te doen naar verbeteringen. Die verbeteringen kunnen worden gerealiseerd bij alle stappen in het proces waar efficiënter kan worden gewerkt of waar tijds- of kwaliteitsverlies optreedt.
Een manier om te onderzoeken waar tijdsverlies optreedt, is door de lean-techniek value stream mapping te gebruiken om een lead time ladder op te stellen. Deze laat zien hoeveel tijd er per stap nodig is en hoeveel wachttijd er tussen de stappen zit.
In de ideale situatie zouden de testgevallen ook moeten fungeren als de specificaties van het systeem. Binnen devops streef je naar een situatie waarin alles volledig geautomatiseerd, met één druk op de knop, het gehele proces doorlopen: van bouw naar test en uiteindelijk naar productie.
Een groot deel van het testwerk bestaat dan uit het automatiseren en onderhouden van de geautomatiseerde testset. Dat is alleen mogelijk als er kleine stukken functionaliteit worden opgepakt die in een korte tijd het proces doorlopen en in productie zijn te zetten. Het risico dat er een fout wordt geïntroduceerd is dan een stuk kleiner. En als het toch voorkomt, is het gemakkelijk om deze op te lossen, namelijk met een snelle fix via een roll-forward (in plaats van een ingrijpende roll-back).
Tester wordt allrounder
Samenvattend is een tester in een devops-omgeving een allrounder die technisch onderlegd is en zich thuis voelt in de diverse disciplines. Affiniteit met automatisering is een must, want dat is een groot deel van devops. Daarnaast is kennis van ITIL en ALM een pre.
Dit komt bovenop de gebruikelijke kennis en kunde waarover een tester dient te beschikken. Want uiteindelijk wordt ook in een devops-omgeving van een tester verwacht dat hij de testspecialist is die in testen de lead neemt.
Rob van Dijk, testconsultant bij Salves
Een Testprofessional heeft extra toegevoegde waarde als hij/zij zowel een business- als systemanalist/programmeurs achtergrond heeft. Hiermee kan de tester in samenspraak met de ontwikkelaar de programmatuur zodanig laten ontwikkelen dat er sprake is van een Testdriven ontwikkeltraject. Welke methode wordt gebruikt is om het even. Agile, Scrum en Lean zijn momenteel een hype geworden maar dat gold vroeger net zo bij SDM, Method/1 of Prince en Cascade (Waterval). Over 5-10 jaar komt er weer een nieuwe methode. Steeds komen we een stapje verder. De samenwerking in Agile/Scrum moet nog verder worden ontwikkeld. de cirkel is dus rond, vroeger werden testwerkzaamheden gedaan door de Programmeur/systeemanalist samen met eindgebruikers. Er is ook een tijd geweest dat de de programmeur en eindgebruikers niet mochten samenwerken.
Die DASA vaardigheden, je moet zoiets als een testskilled samurai zijn.
Teambuilding, samenwerken, zelfvertrouwen, verantwoording, geen ruimte voor ego. Valt allemaal niet mee om tester te zijn.
Zelf neem ik het wat luchtiger op.
Eerst hadden we schaap met 5 poten, die was mank en ging dood.
Nu de T-shaped pro, die is instabiel by design, overspannen en valt om.
Hoe zouden we de BuRP van plasterk moeten bezien in DASA licht ?
Waterval, Agile, DevOps en tenslotte gewoon stekker eruit. ALM volgens overheid. Willem heeft gelijk. “De cirkel is rond” en “Welke methode ook gebruikt wordt is om het even”
Kloof tussen ict en business is als die tussen kiezer en politiek.
Kennisdeling, nederigheid, ruimte voor feedback 😉
Weten wanneer een stap terug te doen..