FitNesse wordt tegenwoordig veel gebruikt om webapplicaties te testen en het opzetten van testen in FitNesse is in de basis heel erg simpel. Je begint dan ook vaak met goede moed je testsets op te zetten en steeds verder uit te breiden. Zeker binnen grote applicaties kan de hoeveelheid testen na verloop van tijd explosief stijgen. Onderhoudbaarheid wordt op dat moment een probleem. Je bent zo veel tijd bezig met het bijwerken van je bestaande testset, dat je niet meer toe komt aan het maken van nieuwe testen.
Wat moet je wel en niet doen bij het opzetten van FitNesse om de hoeveelheid onderhoud tot het minimum te beperken? Hier zijn een viertal tips, o.a. gebaseerd op keyword-driven en data-driven technieken.
Tip 1: Gebruik scenario’s in je testgevallen.
Scenario’s kunnen binnen FitNesse worden gebruikt als manier om één of meerdere Xebium commando’s bij elkaar te nemen om tijdens een testgeval uit te voeren. Deze scenario’s breng je onder in een aparte statische pagina die ScenarioLibrary wordt genoemd. Een veelgebruikte stelregel is dat je enkel scenario’s mag gebruiken in je testgevallen en geen andere tabellen of Xebium commando’s. Het is aan te raden om scenario’s te maken voor iedere soort knop of invoerveld, maar maak ook scenario’s voor stappen die veel worden herhaald in testgevallen! Denk hierbij aan het inloggen op verschillende omgevingen of de happyflow’s voor ieder scherm. Hierdoor beperk je het aantal plaatsen waar je wijzigingen moet doorvoeren wanneer bijvoorbeeld een knopje of invoerveld wordt veranderd.
Tip 2: Zet testdata en GUI mappings niet “hard” in de testgevallen.
Door testdata en GUI mappings op een centrale plek te zetten en hier variabelen aan te koppelen kan je wijzigingen snel doorvoeren. Immers hoef je wijziging dan niet in ieder testgeval aan te passen, maar op 1 plaats! Met iets meer werkt is het ook mogelijk om testdata uit een Database of Excel sheet te halen. Hierdoor kan je met variabele ’testdata objecten’ werken ipv met vastgecodeerde testdata.
Tip 3: Zorg dat je scenario’s leesbaar zijn.
Als je een scenario maakt, weet je natuurlijk waar het voor dient, maar is de beschrijving dusdanig helder dat je dat over een paar maanden ook nog weet? En kunnen collega’s (of zelfs de business) het scenario ook begrijpen? Door heldere en begrijpelijke scenario’s te maken is het veel sneller duidelijk wat je aan het testen bent. De stelregel hierbij is dat, wanneer je het scenario leest, je direct moet snappen wat de bedoeling van een scenario is, zonder dat je verdere context nodig hebt. Wanneer je in een testgeval vervolgens meerdere scenario’s achter elkaar gebruikt, dan is je testgeval vervolgens ook goed leesbaar.
Tip 4: Maak gebruik van een algemeen gedeelde Scenario Library.
Bij grote projecten, waar je zelfs meerdere FitNesse projecten hebt, kan het zeer de moeite waard zijn om een centrale plek te hebben waar de generieke scenario’s, testdata en GUI mappings worden ondergebracht. Hier kunnen dan al je FitNesse projecten gebruik van maken. Ook hier geldt weer dat wijzigingen dan maar op één plaats hoeven te worden uitgevoerd.
Wanneer je deze tips gelijk bij het opzetten van je FitNesse project hanteert, dan scheelt dit je op lange termijn zeer veel werk bij het opzetten en onderhouden van je testen. Daarnaast zorgt het voor overzichtelijke en goed leesbare testen die ook voor anderen te begrijpen zijn.