ORDINA BLOGT

Waar is QA in DevOps

Waar is QA in DevOps?

  • Kaspar van Dam
  • 6 september 2013

Na Agile en Scrum is DevOps de volgende term die snel terrein wint binnen de software ontwikkeling. DevOps is in feite niet meer dan een samentrekking van de woorden Development en Operations. Ofwel een nauwe samenwerking tussen ontwikkeling en beheer binnen één agile team. De kracht van deze werkwijze zit in het feit dat er niet langer een in beton gegoten muur tussen de ontwikkeling van software en de in beheer name ervan staat. De beheerder is onderdeel van het ontwikkelproces en de ontwikkelaar moet zich tegen het beheer aan bemoeien. Het eeuwige touwtrekken tussen de developer - die zo veel mogelijk verandering wil - en de operator - die alles het liefst hetzelfde laat - is daarmee verleden tijd.

Tempo

Een belangrijke eigenschap van DevOps is het tempo waarmee kleine stukken functionaliteit gebouwd worden en vervolgens via de ontwikkelstraat richting productie gaan. In de ideale situatie wordt ieder werkpakketje al binnen 1 sprint daadwerkelijk op productie uitgerold en in beheer genomen. Deze werkwijze staat bekend als Continuous Delivery of Continuous Integration en maakt het noodzakelijk dat het gehele proces van ontwikkelen en deployen zo veel mogelijk geautomatiseerd gebeurt.

De tester

Maar waar blijft de tester in dit verhaal? Van oudsher staat de tester bekend als de linking pin tussen ontwikkeling en beheer. De tester remt de ontwikkelaar af in diens ambitie om zo snel mogelijk alles op de schop te gooien en stimuleert de beheerder om veranderingen te accepteren. Binnen DevOps is deze rol als linking pin niet verdwenen, maar juist nog veel belangrijker geworden. In feite begint het testen zodra de userstory op papier staat. Het is aan de tester om (in samenwerking met het team) zo snel mogelijk requirements en acceptatiecriteria helder te krijgen en hieruit testgevallen te destileren. Deze testgevallen geven de ontwikkelaar de benodigde informatie om de software te bouwen (Test Driven Development) en de testgevallen zelf worden vervolgens zo snel mogelijk geautomatiseerd. Na ontwikkeling van de software volgen snelle, geautomatiseerde testen welke bij voorkeur opgenomen worden in de deployment server zodat de testen bij iedere invoering automatisch afgevuurd worden. Door de combinatie van geautomatiseerd deployen en geautomatiseerd testen wordt het continuous delivery principe geperfectioneerd en kan nieuw ontwikkelde functionaliteit zeer snel van ontwikkeling naar productie, inclusief de acceptatie van de ontwikkelde software door de beheerder.

QADevOps?

Door de centrale rol van de tester en het grote belang van geautomatiseerde testen kan gezegd worden dat QA een zeer belangrijke pijler is binnen DevOps. Misschien zelfs wel de belangrijkste pijler? Daarom is het eigenlijk beter om voortaan te spreken over QADevOps. Het is enkel jammer dat dit wat lastiger uit de mond te krijgen is, dus of deze term aan zal slaan?...

QADevOps

Over de auteur:

Kaspar van Dam

Kaspar van Dam is test(automatisering) consultant bij Ordina en adviseert collega's en klanten over vraagstukken rondom de thema's agile testing, behavior driven development (BDD), testautomatisering en meer.