Automatisering van regressietests

De pilot is opgezet voor een specifieke applicatie. Deze applicatie, integrale projectsturing (IPS), is een projectbeheersingstool. Hierin zijn verschillende modules geïntegreerd, waardoor projecten gebruikersvriendelijker, efficiënter en uniformer werken. Onder andere de registratie van contracten, risico’s, impact en onderhoud over rijkswegen wordt in IPS nauwkeurig vastgelegd. Virendre vertelt: “De applicatie werd dusdanig groot, dat de wens ontstond om 80% van de gebruikte testscenario’s stabiel te houden. Daarvoor is automatisering van regressietests nodig, zodat we bij elke release kunnen controleren of het systeem nog goed blijft werken. Toen kwam Mendix ATS in beeld.”

Snel ervaring opdoen met ATS

Er staan drie doelen centraal in de pilot: ervaren hoe Mendix ATS ingezet kan worden bij IPS, het belang van functioneel beheer om de scenario’s te reproduceren en leren op welke wijze testscripts geautomatiseerd worden. Voordat Virendre aan de slag ging met ATS, heeft hij eerst een cursus gehad. “Ik merkte snel wat er goed is aan de tool”, vertelt hij. “Je kunt zelf de infrastructuur regelen van je testautomatisering. Daarnaast kun je snel testcases bij elkaar klikken door gebruik te maken van een widget. Dit heet record & play. Mendix ATS neemt dan je eigen acties over (record) en rolt vervolgens de test uit (play). Voor mij is dat echt een win.”

Mee- en tegenvallers

In eerste instantie verliep de pilot soepel. Virendre vertelt: “De interface en infrastructuur van Mendix ATS zijn overzichtelijk. Natuurlijk was het af en toe zoeken naar functionaliteiten, maar ATS is logisch in elkaar gezet. Het grootste deel van de tijd ben ik bezig geweest met het inrichten en opzetten van de testscripts. Alle scripts stonden in Excel en moesten over naar Mendix ATS. Dat was vrij intensief. Wat tegenviel, was het gebruik van widget-name. De widget-name is een mx-name (ID) die een klasse identificeert op een webpagina. ATS kan aan de hand van de ID’s de scripts automatisch uitvoeren. Maar wat bleek in de praktijk? Soms komt een ID op meerdere plekken voor op een pagina. Dan lopen je testscripts fout op een dubbele ID. Ik heb dat opgelost door twee ID’s bij elkaar te plakken.”

De knoop doorhakken

Virendre vervolgt: “Volgens verwachting werkt Mendix ATS goed qua structuuropbouw. Als je deze juist in de tool hebt verwerkt, kun je testscripts strak inplannen. Daar heb ik in het begin veel gebruik van gemaakt. Je groepeert scripts en laat deze bijvoorbeeld in de nacht achter elkaar draaien. Dat werkt heel goed. Wat ook prettig is aan de structuuropbouw, is dat wanneer er een test fout loopt, je er snel achter komt waar het misgaat. Hierdoor kun je de foutsituatie snel reproduceren. Dit is een grote pre voor ons. Daarnaast zijn we een groot voorstander van het onafhankelijk testen van testscripts.” En hoe nu verder? “We zitten nu in de afrondende fase”, zegt Virendre. “De kracht van de tool zit hem echt in record & play en het overzicht dat je houdt. Maar wanneer de complexiteit toeneemt, neemt het gemak van record & play af. Je komt er uiteindelijk niet onderuit om een stukje code te schrijven, zodat de testscripts robuust blijven. Voor dit project is het dus niet de meest geschikte testautomatiseringstool. Voor andere, minder complexe omgevingen zou Mendix ATS mogelijk wel passend zijn.”