Een blogpost van Experise Lead Testautomatisering Casper van Koppenhagen
Net als velen volg ik vanuit mijn interesse het nieuws rondom de Covid-19-apps. Veel is hierover al gezegd en geschreven, vooral over de privacy en gekozen oplossingstechnieken. In Nederland zijn wij nog niet zo ver, maar in bijvoorbeeld Duitsland is men onlangs live gegaan met een app. In meer dan 20 andere landen, waaronder Frankrijk en Italië, worden er al apps gebruikt, of zijn ze deze aan het testen. Ik merkte aan mijzelf dat ik mij afvroeg; hoe gaan de ontwikkelaars dit in korte tijd voor elkaar krijgen? Hoe gaan zij de snelheid halen die ze willen bereiken? Hoe bewaken zij de kwaliteit van de applicaties? SYSQA heeft hier een duidelijke visie op. Ik neem jullie graag mee in hoe wij dit aanpakken.
In de wereld van softwareontwikkeling is het voor veel bedrijven al de standaard om applicaties snel naar productie te brengen. In het geval van de Covid-19 app, die nu snel ontwikkeld moet worden door de heersende crisis, is dat niet anders. Maar, hoe gaat dit in zijn werk? Hoe wordt deze applicatie getest? Hoe zorgen bedrijven er nu voor dat er zo snel mogelijk een app is die gebruikt kan worden en waar op korte termijn veel nieuwe en verbeterde functionaliteiten aan kunnen worden toegevoegd, zonder dat dit gevolgen heeft voor de kwaliteit? Hiervoor is het cruciaal dat er goed (automatisch) getest wordt. Omdat er snel nieuwe updates in productie moeten komen, is een korte doorlooptijd van het testen van essentieel belang. Om deze doorlooptijd te kunnen verkorten, met name op het gebied van regressietesten, is het opzetten van een goede automatische testset noodzakelijk.
Om de applicatie snel en vaak naar productie te kunnen brengen, is Continuous Integration (CI)/ Continuous Delivery (CD) een belangrijk randvoorwaarde. Continuous Integration zorgt ervoor dat ontwikkelaars in staat zijn om op hetzelfde moment samen te werken aan dezelfde codebase. Dit is belangrijk om in korte tijd veel wijzigingen door te kunnen voeren. Hierdoor spaar je nieuwe functionaliteit niet maanden op, maar is deze functionaliteit direct beschikbaar om getest te worden. Voor het uitvoeren van testen en daarmee inzicht hebben in de kwaliteit, is het nodig dat je continu de applicatie test. Hiervoor gebruik je de geautomatiseerde testen aangevuld met beperkte handmatige testen.
Continuous Delivery gaat over dat de applicatie geautomatiseerd op de verschillende test-, acceptatie- en (eventueel handmatig) productie-omgevingen wordt uitgerold. Als de release naar productie ook automatisch verloopt spreek je van Continuous Deployment. Door de noodzaak van menselijke interactie bij deployments en releases te minimaliseren, zorgt SYSQA ervoor dat je snel jouw applicatie naar de volgende omgeving kunt releasen. Dit leidt er uiteindelijk toe dat de applicatie met één druk op de knop met gewaarborgde kwaliteit naar productie gebracht wordt.
In mijn droomscenario verlopen al deze stappen automatisch. In de praktijk zie ik echter dat er nog veel handmatige activiteiten plaatsvinden die dit proces frustreren. Om tot een automatisch proces te komen helpt SYSQA haar klanten om het proces volgens volgende stappen op te zetten:
Met een geautomatiseerde CI/ CD pipeline ben je als bedrijf in staat om je software veel sneller en met een betere kwaliteit uit te rollen. Code wordt sneller samengevoegd, het wordt eerder en met kortere doorlooptijd getest en automatisch uitgerold naar de verschillende omgevingen. Fouten worden hierdoor sneller ontdekt en eerder opgelost. Dit levert kwalitatief betere code op, verhoogt de efficiëntie van doorontwikkeling en verkort doorlooptijden. Hierdoor wordt de klant sneller geholpen met een betere oplossing.
Bij de Covid-19 app moet de ontwikkelaar zo snel mogelijk een werkend prototype aan klanten beschikbaar maken onder tijdsdruk van de overheid. Daarnaast moeten ze vervolgens elke dag een update doen met nieuwe functionaliteiten en verwerkte feedback van de gebruikers. Dit kan niet zonder CI/CD en testautomatisering. Hiermee kunnen ze snel doorontwikkelen en elke dag de zekerheid geven dat de kwaliteit van de app gewaarborgd wordt.
Ook als jouw bedrijf niet dagelijks nieuwe functionaliteit aan klanten oplevert, is testautomatisering een belangrijke aanvulling op handmatig testen. Door veel voorkomende repeterende werkzaamheden te automatiseren, voorkom je testblindheid en zorg je dat de tijd en vaardigheden efficiënt worden benut. Ook heb je hierdoor elke release dezelfde inzicht in kwaliteit. En door het inzetten van CI en mogelijk CD is veel handwerk niet meer nodig.
De afgelopen 20 jaar hebben wij vanuit SYSQA al vele opdrachtgevers geholpen, ook met het inrichten van hun CI/CD pipeline en met het opzetten/verbeteren van hun testautomatisering. Maar testautomatisering is slechts één voorbeeld van het verbeteren van de kwaliteit van jouw software. SYSQA heeft een unieke visie op het meten en verbeteren van kwaliteit, op elk moment in de ontwikkeling.
Regelmatig versturen we een overzicht van de nieuwste en relevantste artikelen op deze website. Ontvang ze ook in je mailbox!