Een nieuwe klus, altijd leuk. We waren een maand op weg en hielden een retrospective. Een van de vragen die ik onszelf voorlegde was:

Met stip op 1? Beter testen!
Iets meer achtergrond: we hadden een product onder handen dat al meer dan 10 jaar bij ontwikkeling was. Diverse ontwikkelaars hadden hier hun leven aan gewijd. Alle wijzigingen van de afgelopen 10 jaar waren geworden tot een ondoorgrondelijk geheel. Dit betekende dat elke wijziging, hoe klein ook, relatief veel inspanning vergde en ook nog eens een groot risico op regressie met zich mee bracht.

En wat gingen wij doen? De site in zijn geheel herbouwen. Nee, niet een nieuw product ernaast, beta-testen met klanten en dan een big-bang, hoera we zijn klaar, nee. Wij hadden besloten de site stukje voor stukje te vervangen. Feitelijk draaiden we twee websites, waarbij de nieuwe de oude ‘opat’. Of zoals de Product Owner zei:
We zitten in een oud vliegtuig, dat praktisch uit elkaar valt. En wij mogen de motoren gaan vervangen. In de lucht.
We wilden natuurlijk niet dat we tijdens ons werk aan de tweede motor de eerste motor per ongeluk kapot maakten. Bij elke release wilden we er zeker van zijn dat de delen van de site die we al hadden vervangen, nog goed functioneerden.

En dat betekende regressie testen. Vaak regressie testen. En tests die je herhaalt, wil je niet handmatig (blijven) doen. Die automatiseer je. En zeg je testautomatisering en websites, dan zeg je: Selenium.
Natuurlijk kon ik lekker in Java mijn eigen tests opzetten, maar dat duurde nog geen dag of twee voordat ik in de gaten had dat dit niet ging werken:
- De Selenium Webdriver ondersteunt het Page Object Model, maar je moet nog altijd handmatig uitzoeken hoe je je objecten identificeert.
- De Selenium Webdriver ondersteunt zelf geen rapportage. Deze moest ik zelf maken of leunen op een test framework.
- Het schrijven van test cases was één ding, maar onderhouden van de testcases werd als snel moeilijker
Ontmoet Katalon:
Identificeren van objecten gaat eenvoudig met de Spy Web tool. En opstellen en onderhouden van testcases kan via de GUI, of de scripting view. De scripting is gebaseerd op Groovy – een soort van Java, maar dan net wat anders. Rapporten zijn inzichtelijk op diverse niveau’s.
Inmiddels zijn we heel wat maanden verder. Ik heb ervaren dat het schrijven van testcases minstens zo nuttig is als het telkens kunnen uitvoeren ervan. En Katalon blijft een prima tool!