In het hart van Agile teams gaat kostbare tijd verloren door het overslaan van testautomatiseringsstrategieën en -methodieken. Een veelgehoorde misvatting luidt: "Wij werken Agile, teststrategieën en -methodieken hebben we echt niet meer nodig; we automatiseren immers al onze testen." Echter, de voordelen van het implementeren van deze essentiële elementen zijn van onschatbare waarde. In deze blog illustreer ik, aan de hand van zes kernargumenten, waarom het formuleren van een testautomatiseringsstrategie en het toepassen van testmethodieken onontbeerlijk zijn voor het behoud van kwaliteit en efficiëntie in Agile teams.
Argument 1: de kwaliteit van de Software Under Test (SUT)
Het gebruik van testautomatiseringstools binnen Agile teams kan bewonderenswaardige resultaten opleveren, mits correct opgezet. Deze tools, in synergie met een CI/CD-pipeline, faciliteren kortcyclische opleveringen en snelle deployments naar productie, wat van onschatbare waarde is voor Agile teams. Niettemin merk ik soms dat de passie voor software-engineering in teams die deze technische testframeworks opzetten, te ver doorslaat. Het is essentieel om te onthouden dat deze tools en frameworks middelen zijn om de feedbackcyclus te versnellen, en niet het uiteindelijke doel op zichzelf.
Argument 2: keuzes bij testautomatisering
Op het niveau van de code bevinden zich bevindingen, maar het volledig testen op dit niveau garandeert niet automatisch een alomvattende dekking. Verschillende soorten bevindingen, vooral bij 'unhappy flow' testen, kunnen systeembrede problemen veroorzaken. Een weloverwogen testbenadering, waarbij keuzes worden gebaseerd op inzicht in productrisico's, is van cruciaal belang om de kwaliteit van het gehele systeem te waarborgen.
Argument 3: structuur voor effectieve testdekking
Het ontbreken van een testautomatiseringsstrategie leidt vaak tot het uitvoeren van geautomatiseerde testcases alleen op de ontwikkelomgeving, resulterend in onvoldoende testdekking voor als het systeem in productie gaat. Samenhang tussen functionaliteiten in verschillende systemen wordt niet grondig getest, en er ontstaat overlap in geautomatiseerde tests. Een betere testdekking kan worden bereikt door gestructureerde testmethoden zoals ISTQB, TMap, TestFrame of SmartTEST toe te passen. Deze methoden bieden richtlijnen om onderscheid te maken tussen wat op welk test level in de OTAP-straat getest moet worden.
Argument 4: keuzes bij testautomatisering - de testpiramide
Naarmate de testautomatisering hoger in de piramide (zie figuur 1) plaatsvindt, wordt het cruciaal om weloverwogen keuzes te maken over wat wel en niet moet worden getest. Geautomatiseerde tests op het GUI-niveau vereisen kostbaar onderhoud en kunnen leiden tot langere doorlooptijden. Effectieve keuzes kunnen alleen worden gemaakt als de productrisico's duidelijk inzichtelijk zijn.
Argument 5: testen van complexe softwareketens - Agile en DevOps focus
In Agile en DevOps teams wordt vaak gefocust op het testen van de afzonderlijke applicatie, terwijl deze vaak deel uitmaakt van een uitgebreide keten van applicaties. Uitbreidingen in interfaces tussen systemen kunnen onverwachte problemen veroorzaken verderop in de keten. Testmethoden moeten zich daarom uitstrekken tot geautomatiseerde ketentesten, waarbij het juiste niveau van testen wordt toegepast om zowel tijd als kwaliteit te waarborgen.
Argument 6: business kennis en testmethodieken - een noodzakelijke mix
Het is van groot belang om naast technische kennis ook voldoende kennis van de business te hebben bij het opstellen van testcases. Een gebrek aan kennis van de business kan leiden tot onvoldoende testdekking en onjuiste testresultaten. Door gestructureerde testmethoden zoals ISTQB, TMap, TestFrame of SmartTEST toe te passen, kan de juiste balans worden gevonden tussen technische en businesskennis. Hierbij wordt rekening gehouden met de specifieke eisen van de business en worden de juiste testcases op het juiste niveau uitgevoerd.
Tot slot
Een kosteneffectieve strategie met een resultaatgerichte aanpak is altijd een sleutel tot succes in automatiseringstesten. Bedrijven kunnen aanzienlijk besparen op zowel geld als tijd door ervoor te zorgen dat de testautomatisering optimaal is ingericht, waarmee potentiële productrisico’s worden verkleind. Ook in een Agile en DevOps omgeving.
Wilt u weten hoe CGI uw organisatie kan helpen met het opzetten van een goede testautomatisering aanpak, neem dan contact met mij op. Testautomatisering en gestructureerde testmethoden zijn geen ballast maar vormen de ruggengraat van een doordachte software ontwikkelstrategie. Overweeg de implementatie van bewezen testmethoden en strategieën voor een doordachte en effectieve testaanpak.