Overslaan en naar de inhoud gaan

Hoe test je in DevOps?

Wat wordt er van een tester in een DevOps-team verwacht?
Devops print
© CC BY 2.0 - Flickr
CC BY 2.0 - Flickr

Bij DevOps wordt gewerkt in multidisciplinaire teams, waarbij iedereen gezamenlijk verantwoordelijk is voor het eindproduct. In mijn vorige blog schetste ik hoe de transformatie naar DevOps werkt. Maar ook de rol van de tester verandert in een DevOps-omgeving.

De Tester+

Binnen DevOps moet een tester multifunctioneel zijn. Hij moet naast zijn testspecialisme ook kennis hebben van beheer, businessanalyse of development. Dit is het zogenaamde T-shaped profiel.

In de ideale situatie bestaat een DevOps-team uit personen die elkaar aanvullen qua specialisme maar ook op andere kennisgebieden. Doordat men elkaar complementeert, is het team in staat om 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 zogenaamde 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.

Devops tester
Devops tester

Architecteur & design DevOps onderscheidt hierin acht vakgebieden:

  • Business value optimalisatie
  • Businessanalyse
  • Programmeren
  • Continuous delivery
  • Testspecificatie
  • Infrastructuur engineering
  • Security, risk & compliance

Skillset

De theorie van de DevOps Agile Skills Association (DASA) benoemt vier skills 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 deze zich ten minste op het niveau ‘bekwaam’ bevindt voor alle vier skills.

Automatisering

Een van de kernprincipes van DevOps is om zoveel mogelijk te automatiseren. Binnen het vakgebied testen is automatisering alom bekend en wordt het veelal voor regressietesten toegepast.

devops tester 2
devops tester 2

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.

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.

Waar treedt tijdverlies op?

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 duidelijk zien hoeveel tijd er per stap benodigd is en hoeveel wachttijd er tussen de stappen zit.

In de ideale situatie zouden de testgevallen ook moeten kunnen 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 kan doorlopen: van bouw naar test en uiteindelijk naar productie.

Een groot deel van het testwerk bestaat dan uit het automatiseren en het 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 kunnen worden gezet. Het risico dat er een fout wordt geïntroduceerd is dan een stuk kleiner. En als het toch voorkomt, is het veel gemakkelijker 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 dus 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 absoluut 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 kan nemen.

 

Gerelateerde artikelen
Gerelateerde artikelen

Reacties

Om een reactie achter te laten is een account vereist.

Inloggen Word abonnee

Bevestig jouw e-mailadres

We hebben de bevestigingsmail naar %email% gestuurd.

Geen bevestigingsmail ontvangen? Controleer je spam folder. Niet in de spam, klik dan hier om een account aan te maken.

Er is iets mis gegaan

Helaas konden we op dit moment geen account voor je aanmaken. Probeer het later nog eens.

Maak een gratis account aan en geniet van alle voordelen:

Heb je al een account? Log in

Maak een gratis account aan en geniet van alle voordelen:

Heb je al een account? Log in