Een snelle ‘time to market’ in combinatie met de verwachte kwaliteit en wendbaarheid/flexibiliteit, is de dag van vandaag cruciaal voor een organisatie die actief is in het domein van software ontwikkeling. Een trage oplevering kan ervoor zorgen dat je concurrenten een stapje voor zijn en dat je niet meer in de kopgroep van de koers aan het rijden bent, maar op achtervolgen bent aangewezen.
Slechte kwaliteit van de software kan zorgen voor omzetverlies en/of imagoschade. Het omkeren van beide aspecten zal voor je organisatie wellicht frustraties, extra effort en extra budget met zich mee brengen. Een belangrijk vraag is dan, hoe kan je snelheid verhogen in je SDLC (Software Development Life Cycle) zonder in te boeten aan kwaliteit? Testautomatisatie kan hiervoor een oplossing zijn, tenminste als het op een correcte manier wordt toegepast. Het is vaak een slimme investering in het efficiënt testen van software.
Niet altijd een toegevoegde waarde
Maar let op, als je een digitale applicatie of een platform bouwt dat niet onderhevig is aan verandering, innovatie, uitbreidingen, … heeft testautomatisatie niet altijd een toegevoegde waarde. Voor een website die éénmalig gebouwd wordt is het manueel testen van de functionaliteit ervan met de juiste strategie meestal voldoende. Binnen deze strategie behoren ook nog andere aspecten zoals performance/load/stress/security testen. Deze dienen eveneens aandacht te krijgen voor een kwalitatieve oplevering van het eindproduct met tevreden (eind)gebruikers.
Altijd met de juiste strategie
Testautomatisatie dient doordacht te gebeuren, met de juiste strategie, rekening houdend met parameters zoals technologie, scope, budget, uitbreidbaarheid, onderhoudbaarheid, techniciteit van de gebruikers, architectuur, … Zo niet kan er budget onnodig verbrand worden en zal het doel worden voorbijgestreefd met de nodige frustraties tot gevolg. Vooral op de service laag (API) is er meestal een hoge ROI.
We merken doorgaans dat de laatste jaren testautomatisatie meer en meer zijn intrede heeft gedaan en zijn nut al meermaals heeft bewezen. Organisaties die testautomatisatie juist gebruiken willen hiervan dan ook zeker niet meer afstappen.
Een praktisch voorbeeld uit het werkveld
Ik (David) werkte zelf jaren geleden als tester op een project waar er iedere release 2 weken manueel testwerk aan te pas kwam voor het controleren van artikels (producten/diensten) en hun bijhorende statussen. Het voorbereiden van de testdata tel ik hierin zelfs nog niet mee. Na de automatisatie ervan was de uitvoertijd naar 2u teruggebracht en werden er bovendien meer controles gedaan. Het was niet enkel een enorme tijdwinst, maar ook meer flexibileit (planning, team, …), verhoging van de testcoverage, herbruikbaarheid voor verschillende doeleinden (omgevingen, code, …), onafhankelijkheid (ziektes teamleden, …), integratie (CI/CD), fouten werden sneller gevonden in het proces, teamwerk (testers en developers zaten meer op dezelfde golflengte/technisch).