Redactie - 20 oktober 2015

Testautomatisering stelt hoge eisen, maar is de weg naar goud

Klanten verwachten veel vandaag de dag. Ze eisen snelheid, gebruiksvriendelijkheid maar bovenal kwaliteit. Bedrijven moeten hun producten sneller op de markt brengen om te overleven in de concurrerende markt, met een verantwoorde kwaliteit. In ons vak, het testen van software, moeten we daar ook op anticiperen. Er zal sneller inzicht moeten worden gegeven in de kwaliteit van informatiesystemen. Een van de maatregelen daartoe is testautomatisering. Maar hoe richt je dit proces in? In dit artikel gaan we in op een aantal beginselen, en leggen we eerst even kort uit wat testautomatisering precies inhoudt. 

Een definitie van test automatisering luidt: “het gebruik van software om testactiviteiten uit te voeren of te ondersteunen, bijvoorbeeld testbeheer, testontwerp, testuitvoering en het controleren van de resultaten.”

Testautomatisering wordt toegepast om een tijdrovend, op zichzelf herhalend (test) proces te automatiseren. Hierbij moet rekening gehouden worden met een groot aantal afhankelijkheden, tijdsdruk en hoge kwaliteitseisen. Dit alles maakt testautomatisering tot een lastig te beheersen proces. In dit artikel beschrijven we een aantal aspecten die testautomatisering beheersbaar maakt en dusdanig toekomstvast neerzet dat testautomatisering een positieve bijdrage levert bij de tot standkoming van informatiesystemen.

Het implementeren van testautomatisering is een relatief complex onderwerp, dat vraagt om het maken van diverse keuzes. Denk hierbij aan de opzet van testautomatisering in de organisatie. Het maken van weloverwogen keuzes helpt om testautomatisering toekomstvast in te richten. Een testvisie brengt in kaart welke doelstellingen testautomatisering vooral dient en welke risico's het vooral adresseert. Testbeleid legt de belangrijkste uitgangspunten vast over hoe er met testen wordt omgegaan en de rol van testautomatisering. Testarchitectuur beschrijft de inrichting van testen op hoofdlijnen, zoals het te hanteren proces en de te gebruiken tools. 

Bij de term ‘automatisering’ lijkt het er wellicht op dat de mensen minder belangrijk worden, maar niets is minder waar. De activiteiten verschuiven, en stellen juist hogere eisen aan mensen. Iedereen die betrokken is bij het testen moet begrijpen waarom testautomatisering belangrijk is en wat hun betrokkenheid inhoudt. Enerzijds verdwijnt repeterend werk en zal de nadruk komen te liggen op de analyse van de testresultaten, anderzijds zal het belang van de rol van testengineer toenemen. 

Gegevens zijn key
Gegevens spelen een belangrijke rol in testautomatisering. Omdat de kwaliteit van processen in sterke mate afhankelijk is van de kwaliteit van de gegevens vragen deze laatste expliciete aandacht, en dat geldt dus ook voor de gegevens die worden gebruikt bij testautomatisering. Gegevens bepalen hoe informatiesystemen zich gedragen.

Klanten verwachten dat organisaties op een zorgvuldige manier met hun gegevens omgaan en dat deze niet in handen komen van onbevoegden. Wet- en regelgeving zoals de ‘Wet Bescherming Persoonsgegevens’ stelt hieraan ook expliciete grenzen. Testautomatisering dient daarom ook specifieke aandacht te hebben voor informatiebeveiliging. Gegevens die gebruikt worden bij het testen mogen niet herleidbaar zijn naar individuen (zoals klanten).

Modelgedreven
Er worden in het testproces allerlei modellen en gegevens gebruikt die betrekking hebben op de applicatie die wordt getest. Deze modellen kunnen direct in het testproces worden toegepast, ondermeer voor het automatisch genereren van testscripts en de verwachte testresultaten. Dit zorgt ervoor dat de ontwikkel- en beheerinspanning wordt geminimaliseerd, dat inconsistenties zoveel mogelijk worden voorkomen en dat aanpassingen in de applicatie zo min mogelijk vragen om aanpassingen in de testscripts. Deze kunnen dan opnieuw worden gegenereerd. Het in gestructureerde, modelgebaseerde vorm vastleggen van functionaliteit stelt hogere eisen aan het analyse- en ontwerpproces. 

Het moge duidelijk zijn dat het implementeren van testautomatisering niet lichtzinnig moet worden opgepakt. Een gestructureerde aanpak is noodzakelijk, waarbij expliciete aandacht is voor de inrichting en de visie, beleid en architectuur die daaraan ten grondslag liggen. Als de juiste stappen worden gezet levert testautomatisering allerlei voordelen. Zo zal de snelheid en kwaliteit van het testproces worden verhoogd en wordt de afhankelijkheid van schaarse deskundigheid verlaagd. Wij geloven er dan ook in dat een gestructureerde implementatie van testautomatisering dan ook de weg naar goud is.

Marcel Mersie en Jos van Rooyen, beiden testconsultant bij Bartosz ICT

Wil jij dagelijkse updates?

Schrijf je dan in voor onze nieuwsbrief!