Veel software bedrijven gebruiken tegenwoordig Continuous Integration en Continuous Delivery (CI/CD) om snel en effectief kwalitatieve producten uit te brengen.
De CI/CD pipeline benadering is ontstaan als gevolg van de neiging van hedendaagse software gebruikers. Deze zijn namelijk steeds minder tolerant ten aanzien van defecten en tegelijkertijd snelle updates te verwachten. CI/CD testen kan daarom dus best handig zijn.
In dit artikel zullen we je exact uitleggen wat CI/CD testen inhoudt.
Wat is CI/CD? Continuous Integration en Continuous Delivery verder uitgelegd
CI/CD is een methode om regelmatig apps aan klanten te leveren door automatisering in de stadia van app-ontwikkeling te introduceren.
De belangrijkste concepten die aan CI/CD worden toegeschreven, zijn ‘Continuous Integration‘, ‘Continuous Delivery‘ en ‘Continuous Deployment‘.
CI/CD is een oplossing voor de problemen die de integratie van nieuwe code kan veroorzaken voor ontwikkelings- en operationele teams (ook bekend als “integratiehel”).
In detail wat is CI/CD?
In het bijzonder introduceert CI/CD voortdurende automatisering en continue monitoring gedurende de levenscyclus van apps, van integratie- en testfasen tot levering en implementatie. Alles bij elkaar worden deze verbonden werkwijzen vaak een ‘CI/CD-pipeline’ genoemd en worden ondersteund door ontwikkelings- en operationele teams die op een agile manier samenwerken met een benadering van ofwel ‘DevOps‘ of ‘site-reliability engineering’ (SRE).
Continuous Integration
CI/CD bestaat dus uit twee delen: Continuous Integration en Continuous Delivery. Maar wat houden deze twee termen precies in? We zullen eerst kijken naar Continuous Integration.
Continue integratie (CI) is een agile en DevOps-best practice waarbij ontwikkelaars hun codewijzigingen vroeg en vaak integreren. Het doel is om het risico op een “integratiehel” te verkleinen.
Dit gebeurt meestal doordat er wordt gewacht op het einde van een project of een sprint om het werk van alle ontwikkelaars samen te voegen. Omdat CI de implementatie automatiseert, helpt het teams te voldoen aan zakelijke vereisten, de codekwaliteit te verbeteren en de beveiliging te optimaliseren.
Een van de belangrijkste voordelen van het toepassen van CI is dat het tijd bespaart tijdens een ontwikkelingscyclus door conflicten vroegtijdig te identificeren en aan te pakken. Het is ook een geweldige manier om de hoeveelheid tijd die wordt besteed aan het oplossen van bugs en regressie te verminderen door meer nadruk te leggen op het hebben van een goede testprogramma.
Ten slotte helpt Continuous Integration ook om een beter begrip te krijgen van de codebase en de functies die je voor jouw klanten ontwikkelt.
Continuous Delivery
Na de automatisering van builds en unit- en integratietesten in Continuous Integration, automatiseert Continuous Delivery de uitgave van die gevalideerde code. Voor een effectief continu leveringsproces is het dus belangrijk dat CI al in de ontwikkelings-pipeline is ingebouwd.
Het belangrijkste doel van Continuous Delivery is om een codebase te hebben die altijd klaar is voor implementatie in een productieomgeving.
Bij Continuous Delivery omvat elke fase – van het samenvoegen van codewijzigingen tot de levering van kant en klare builds – testautomatisering en automatisering van code-releases.
Aan het einde van dat proces kan het operationele team snel en eenvoudig een app in productie nemen.