Hoe automatiseer ik testen in een keten?
Ten eerste was het belangrijk om een definitie te hebben bij de term ‘keten’. Wij kwamen bij ketentesten tot de definitie: Het geheel van samenwerkende, autonome applicaties die een gemeenschappelijk doel ondersteunen. Daarnaast kwam de vraag naar boven: Wie heeft het overzicht? Het zou namelijk zo kunnen zijn, dat een gehele keten meerdere teams overstijgt. In sommige gevallen kan het goed zijn om een tester of test-code te hebben die verantwoordelijk is voor een deel van de keten. Het is belangrijk om de keten zo volledig mogelijk te testen. Wanneer een stuk van de keten ‘down’ is, kan dit opgelost worden met testdata, stub- of mock-service.
We sloten onze discussie af met de vraag of het automatiseren van een gehele keten altijd nodig is. Dit hangt uiteraard af van de specifieke keten en is vaak maatwerk. Het zou wel eens kunnen zijn dat sommige stukken beter niet geautomatiseerd kunnen worden, omdat dit te arbeidsintensief is en handmatig testen heel weinig tijd kost. Mocht er veel handmatig werk zijn wat door een testframework of script opgepakt zou kunnen worden, dan is het uiteraard raadzaam om daar werk van te maken.
.jpg)
Voorbeelden van automatisering in testen. Dus niet het automatiseren van je test scripts!
Als men tegenwoordig over testautomatisering spreekt, gaat het 9 van de 10 keer over het automatiseren van het checken van het verwachte testresultaat in een SUT. Echter is er veel meer te automatiseren binnen het gehele testproces, van bevindingen registratie t/m het automatisch genereren van testdata etc. In een discussie kwamen we tot de volgende voorbeelden van automatisering die helpen bij het kwaliteitsproces.
Met behulp van Model Based Testen (MBT) kun je de requirements omzetten in een model om van hieruit vervolgens automatisch de testgevallen te genereren. Deze testgevallen kun je vervolgens (deels) gebruiken voor het automatiseren van het checken in een SUT.
early Model Based Testen (eMBT) gaat nog een stapje verder, doordat deze manier van MBT is in te zetten als stimulans voor communicatie en samenwerking in de startfase. Doel hiervan is om z.s.m. een gezamenlijk begrip te krijgen over de requirements nog voordat er één regel code is geschreven. Uiteraard is het mogelijk om de testgevallen automatisch af te leiden uit het model, gebaseerd op een vooraf geselecteerde test coverage.
Door filters te maken in bijvoorbeeld ticket systemen zoals Jira en Azure Devops, zorg je ervoor dat tickets beter en efficiënter afgehandeld worden.
In je CI/CD pipeline kun je diverse triggers aanbrengen, om zo wel of niet automatisch te deployen op een volgende omgeving, een volgend test level af te trappen, een test rapport op te leveren, teamleden te informeren en ga zo maar door.
Met automatisering kun je gemakkelijk testdata genereren en inschieten op een SUT, om zo met een productie-like testsysteem te werken.
Middels automatisering kun je een uitgangssituatie klaarzetten op je SUT, zodat je vervolgens handmatig testen uit kunt voeren dan wel een situatie kunt analyseren.