Als je affiniteit hebt met de ICT-branche, dan heb je de term “DevOps” vast wel eens voorbij horen komen. Voor veel mensen is het echter niet in een keer duidelijk wat deze term precies beschrijft. In dit artikel leggen we daarom uit wat DevOps precies is, wat de voordelen van DevOps zijn en wat je moet kunnen om als software tester aan de slag te gaan in een DevOps omgeving.
Wat is DevOps?
DevOps is een manier van hoe verschillende afdelingen binnen een softwarebedrijf samenwerken. We spreken van DevOps als de ontwikkelaars- (Developers) en de operationsafdeling (Ops) nauw met elkaar samenwerken. Normaal gesproken werken deze afdelingen redelijk gescheiden van elkaar. Vooral in het verleden was dit vaak het geval. Dat zag er dan als volgt uit.
De ontwikkelaars maken een nieuw stuk software, testen het om de bugs eruit te halen en sturen het vervolgens naar de operationsafdeling. Operations is de afdeling die verantwoordelijk is voor de integratie van de software, het bieden van ondersteuning en het onderhoud. De developers geven vaak enige uitleg over hoe de software gebruikt dient te worden en welke problemen er kunnen ontstaan. Maar te vaak heeft operations te weinig meegekregen van hoe de software precies in elkaar steekt en welke haken en ogen eraan zitten.
Het resultaat? De operations afdeling kan niet snel problemen opsporen en kan toekomstige problemen moeilijk voorkomen. Met als gevolg meer downtime en minder snelle ontwikkeling van nieuwe features.
Waarom DevOps?
Bij DevOps werken de ontwikkelaars- en operationsafdelingen intensief met elkaar samen in het gehele traject van ontwerp naar ontwikkeling tot ondersteuning van een product. Er wordt ook wel gesproken van “You build it, you run it”. Met andere woorden: als je als DevOps engineer iets maakt, dan ben je zelf verantwoordelijk voor de integratie en ondersteuning.
Het resultaat van werken volgens het DevOps-principe is dat software sneller geïntegreerd kan worden en dat bugs en andere problemen sneller verholpen kunnen worden. Ook kunnen er sneller nieuwe features gebouwd worden, waardoor bedrijven sneller kunnen inspelen op de altijd veranderende markt.
Uit DevOps onderzoeken is zelfs gebleken dat bedrijven die goed presteren met betrekking tot DevOps winstgevender zijn dan bedrijven die minder goed presteren op dit aspect. Dit heeft te maken met het feit dat bedrijven die werken volgens het DevOps-principe beter begrijpen op welke features de markt echt zit te wachten en dus geen middelen hoeven te verspillen aan het ontwikkelen van features die niet verkopen.
Ook kunnen DevOps-bedrijven sneller nieuwe software produceren, met tot wel 80% minder bugs dan normaal. Zitten er toch bugs in de software, dan zijn DevOps-bedrijven in staat om deze stukken sneller te verhelpen en updates te publiceren. Doordat bugs sneller verholpen kunnen worden, is het risico van nieuwe software publiceren lager.
Wat moet je kunnen als software tester in een DevOps-omgeving?
Wil je als software tester aan de slag binnen een bedrijf dat werkt volgens het DevOps-principe? Dan zijn er een aantal vaardigheden waarover je moet beschikken.
Allereerst is het belangrijk dat je op de hoogte bent van de verschillende soorten beschikbare testen. Zo zijn er bijvoorbeeld functionele, niet-functionele en beveiligingstesten. Naast de verschillende soorten testen, moet je ook verstand hebben van de verschillende soorten programmeertalen die er bestaan.
Je hoeft niet alle programmeertalen te beheersen, maar wil je bijvoorbeeld apps gaan testen, dan moet je wel kennis hebben van de meest gebruikte talen voor het programmeren van apps. Wil je databases gaan testen, dan moet je kennis hebben van tools als SQL en Oracle. Ga je geautomatiseerd testen, dan is bijvoorbeeld een tool als Selenium belangrijk.
Daarnaast zijn er ook andere skills belangrijk als je software tester wilt worden, bijvoorbeeld:
– Je kunt goed in teamverband werken, maar ook individueel
– Je kunt omgaan met deadlines
– Analytisch ben je sterk
– Je kunt goed communiceren, zowel mondeling als schriftelijk