Column “Het vergeten gereedschap”

Als testcommunity zijn we een bezig volkje. We organiseren talloze mooie events. We schrijven met gemak de ene publicatie na de ander, discussiefora worden druk bezocht en via allerlei werkgroepen proberen we het vak verder te ontwikkelen en te innoveren. Nieuwe technieken worden ontwikkeld, we anticiperen op ontwikkelingen in de maatschappij en het IT vakgebied. Om maar een beetje in stijl te blijven. We hervormen daar waar nodig.

Dat is goed. Sterker nog, dat moet. Een aloud gezegde geeft al aan dat “rust roest”, of “stilstand is achteruit gang”. Ik ben een groot voorstander van continue ontwikkeling gekoppeld aan een stukje pragmatisme. Daarbij is het goed om ook eens iets verder te kijken dan het eigen vakgebied.

Toch is het goed om soms even stil te staan en te koesteren wat je hebt. Ook als testers hebben we veel methoden, technieken ontwikkelt de afgelopen jaren die soms nauwelijks worden gebruikt of slechts door een klein gedeelte van de community. Wellicht speelt hier het feit dat onbekend onbemind maakt.

Ik wil er twee uitlichten die bij bepaalde groepen bekend en gebruikt worden maar bij de grote testgemeenschap nog geen gemeengoed zijn. Dat is jammer want we kunnen er met zijn allen veel voordeel bij behalen.

Ik noem Model Based Testen (MBT) en Testing and Test Control Notation versie 3 (TTCN3).

MBT is een methode waarbij een systeem wordt getest t.o.v. een model; een abstracte beschrijving van het gewenste gedrag van het te testen systeem.

Voor velen is het voordeel van deze methode dat je grote hoeveelheden testcases kunt genereren en een betere dekking bereikt. De methode is bij mij favoriet omdat het teruggaat naar de basis, de Business Requirements. Wat heeft de opdrachtgever voor ogen en hoe dient het systeem in de praktijk te werken. De opdrachtgever staat weer centraal!

Toch zie je de massale toepassing van MBT technieken niet echt gebeuren. De laatste tijd zie ik gelukkig wel weer de belangstelling toenemen.

De tweede die ik wil benoemen is TTCN3. TTCN3 is geen modefenomeen. De eerste versies zijn medio 80er jaren van de vorige eeuw ontwikkeld. De taal is geadopteerd door European Telecommunication Standardization Institute (ETSI) en in de loop van de jaren ontwikkeld tot een bewezen en volwassen testtaal. Doordat de taal is ondergebracht bij een onafhankelijk instituut is de ontwikkeling minder afhankelijk van de grillen van de toolleverancier. Vanuit universiteiten en onderzoeks¬instituten vindt er continu innovatie plaats op TTCN3. Dit levert veel gratis extra’s op voor bedrijven die het gebruiken.

TTCN3 is volledig toegesneden op testen. Het is erg flexibel. Zo kunnen testen uitgevoerd worden over meerdere platformen, door meerdere testobjecten tegelijkertijd aangeboden en dit vrijwel real-time. Het is zelfs geschikt voor het beschrijven van performance tests. Dit is mogelijk doordat meerdere instanties van hetzelfde testobject opgestart kunnen worden vanuit één toolsuite. Meerdere systemen kunnen dus aangestuurd en gecontroleerd worden, terwijl ze op verschillende wijzen communiceren. Dus het ene systeem heeft een CORBA-interface, de andere een HTML-gebaseerde interface en nog een andere wordt aangestuurd door middel van de GUI. Met TTCN3 is het dus mogelijk alle testen te beschrijven in één specificatietaal en uit te voeren met één toolsuite.

Echter, voor het grote publiek is TTCN3 een onbekende?

De vraag is natuurlijk waarom deze twee technieken en wellicht meerdere, niet breed worden toegepast? Dat is jammer want er zitten grote voordelen aan. Uiteraard ook nadelen, maar de voordelen wegen zeker op ten opzichte van de nadelen. Ik heb daar zelf geen pasklaar antwoord op. Eerder heb ik al genoemd onbekend maakt onbemind. Wellicht de leercurve die nodig is.

Mijn pleidooi is dat innoveren een absolute must is. Echter, er bestaan al vele mooie technieken die we veel beter kunnen uitnutten dan we tot nu toe doen.

Innoveer, maar ga slim en handig om met het erfgoed waardoor het gereedschap gepoetst blijft.

————————
Jos van Rooyen is senior testadviseur/ principal consultant testen bij Bartosz ICT bv