Vaarwel handmatige testgevallen, hallo modelgebaseerd testen
Na volop successen in andere markten begint modelgebaseerd testen (mbt) nu voet aan de grond te krijgen in de hightech. Julien Schmaltz van CGI, Johan Poelsma van ICT en Bryan Bakker van Sioux willen dat in een stroomversnelling brengen.
‘We moeten ophouden testcases met de hand te maken. Vooral in de hightech zijn systemen zo complex geworden dat er duizenden en duizenden cases nodig zijn voor een fatsoenlijke dekking. Om ze te schrijven, uit te voeren en te onderhouden is een enorm aantal testengineers nodig – vind die maar eens in een toch al extreem krappe arbeidsmarkt – of de beschikbare mensen zouden veel meer werk moeten doen. Allebei schaalt het niet’, zegt Julien Schmaltz, software-engineering-expert en consultant bij CGI. ‘De enige oplossing is automatisering, via modelgebaseerd testen.’
Bryan Bakker ziet in de industrie veel aandacht voor unittests aan de onderkant en uitgebreide klantgerichte end-to-end-tests aan de bovenkant, resulterend in een zandlopervormige testaanpak. ‘Maar die end-to-end-testcases zijn erg duur om te maken, uit te voeren en te analyseren’, stelt de testarchitect van Sioux Technologies. ‘Ze zijn ook heel instabiel in die zin dat ze al snel niet meer werken, bijvoorbeeld bij de kleinste verandering in timing. Modelgebaseerd testen kan echt helpen op het tussenliggende integratieniveau. Door de zandloper in een piramide te veranderen, kan mbt het aantal testgevallen aan de top inperken en daarmee de kosten van end-to-end-tests sterk reduceren.’
‘Modelgebaseerd testen ondersteunt het shift left-gedachtegoed, en elk probleem dat eerder boven water komt, bespaart geld’, onderschrijft Johan Poelsma, softwarearchitect bij ICT Group. ‘Maar met mbt haal je ook het beste uit je domeinexperts. Als problemen eerder worden gevonden, kunnen die experts zich richten op waar ze echt waarde kunnen toevoegen, zoals het checken van de usability of andere niet-functionele systeemeigenschappen.’
Voordelen
Bakker en Poelsma zijn op dit moment gestationeerd bij Thermo Fisher Scientific in Eindhoven, waar ze de invoering van mbt in het software-R&D-proces begeleiden. Schmaltz was hier tot voor kort ook bij betrokken, toen hij nog bij ICT werkte. ‘Aanvankelijk was er nogal wat weerstand tegen het toevoegen van weer een nieuwe tool aan hun gereedschapskist’, herinnert Poelsma zich. ‘Bij gebrek aan vergelijkbare cases in de hightech hadden we geen echt verhaal, maar we hebben ze ervan kunnen overtuigen om mbt eens te proberen. Nu zien we het langzaam maar zeker zijn vruchten afwerpen.’
Na zorgvuldige afweging van meerdere oplossingen heeft Thermo Fisher Scientific gekozen voor het mbt-platform van de Amsterdamse expert in softwarekwaliteit Axini. ‘Modelgebaseerd testen is er in verschillende smaken’, zegt Schmaltz. ‘Het basisidee is dat je een soort abstracte voorstelling hebt van je systeemomgeving, een model, waaruit automatisch testgevallen worden afgeleid om te controleren of je systeem zich gedraagt zoals verwacht. Dit wordt in verschillende vormen aangeboden door een groot aantal platforms, waaronder Tosca, Smartesting, MBTsuite en Axini, om er een paar te noemen. Sommige gaan uit van UML-activiteitendiagrammen als model, andere van gebruiksdata, Axini van interfacespecificaties. Voor systemen met veel parallelle componenten, veel interfaces en complex gedrag, zoals de elektronenmicroscopen van Thermo Fisher Scientific, is Axini het mbt-platform bij uitstek.’
Voor CGI zet Schmaltz zijn ruim vijftien jaar aan mbt-ervaring nu in bij Prorail. ‘Daar werken ze al jaren met Axini. Hun systemen hebben ook veel interfaces en complex gedrag. In een van hun projecten, het ontwikkelen van een belangrijk onderdeel van ERTMS, het nieuwe Europese Rail Traffic Management System, heeft het toepassen van mbt al vijfduizend uur aan testen bespaard. Dit toont duidelijk de toegevoegde waarde in softwareontwikkelefficiëntie.’

Bakker denkt dat modelgebaseerd testen vergelijkbare voordelen te bieden heeft aan hightechbedrijven als Thermo Fisher Scientific. ‘Voornamelijk bij de ontwikkeling van kritische softwarecomponenten, die er in de hightech volop zijn’, stelt hij, waarbij hij benadrukt dat mbt geen wondermiddel is dat overal kan en moet worden toegepast. ‘Wanneer de impact van een potentiële bug klein is, kunnen we prima volstaan met minder uitgebreide manieren om het risico te beperken. En voor legacycode ligt er meestal al een testset met voldoende dekking. Of mensen zien het nut niet in van investeren in het modelleren van een systeem dat in het veld geen grote problemen geeft. Het werkt, dus waarom iets anders doen? Maar als het tijd is voor een grootscheeps herontwerp van een of meer componenten kan mbt ook daar van grote waarde zijn. Je kunt de interfaces naar de rest van je oude systeem modelleren, de nieuwe code erin schuiven en automatisch controleren of alles nog goed functioneert.’
‘Bij Thermo Fisher Scientific zien we mbt echt uitblinken in het afvangen van integratieproblemen’, vult Poelsma aan. ‘Geïsoleerde componenten functioneel testen, dat kunnen een heleboel engineers wel en daar zijn ook een heleboel tools voor. Pas als componenten worden geïntegreerd, komen de vervelende problemen boven water. Dat is waar mbt met een platform als Axini echt kan helpen, door alle afhankelijkheidsinterfaces te testen.’
Bewustwording
Terwijl ze bij Prorail, en ook bij Achmea en Pensioenfonds Campina, de grote belofte al zien, moet mbt nog voet aan de grond krijgen bij bedrijven in de hightech. Dat komt deels door alle legacycode waar zij mee te maken hebben, maar het is ook gewoon een gebrek aan bewustzijn. Veel bedrijven die bekend zijn met modelgebaseerde ontwikkeling denken dat modelgebaseerd testen meer van hetzelfde is. ‘Waarom zouden we Axini gebruiken? We werken toch al met Verum’, hoort Bakker regelmatig. ‘Het is onze taak om hun daarin de weg te wijzen.’ Meer succesverhalen zouden zeker helpen het bewustzijn te vergroten. ‘Bij Thermo Fisher Scientific zijn we goed op weg om de voordelen te kwantificeren’, merkt Poelsma op, ‘maar we hebben meer van die pioniers nodig met lef en commitment.’
Zonder harde bewijzen van de voordelen worden mbt-platforms al snel afgedaan als onvoldoende volwassen. Te vaak wordt de lat te hoog gelegd. ‘Nog niet alle complexiteit is behapbaar’, geeft Bakker toe. ‘Maar naarmate nieuwe onderzoeksresultaten worden geïncorporeerd, openen zich nieuwe mogelijkheden die de toepasbaarheid aanzienlijk vergroten. We hebben hetzelfde zien gebeuren met modelgebaseerde ontwikkeltools als ASD van Verum, nu Dezyne. Het heeft ook even geduurd voordat die goed genoeg werden bevonden voor industrieel gebruik.’
In Bakkers ogen tonen de successen in andere markten aan dat mbt-platforms als die van Axini wel degelijk voldoende volwassen zijn. ‘Ze sluiten alleen niet altijd perfect aan op de verwachtingen van deze nieuwe gebruikersgroep uit de hightech. Om bestaande klanten in andere markten tegemoet te komen, had Axini bijvoorbeeld de integratie met het versiebeheersysteem Git netjes weggewerkt. Alle coderevisies werden overal automatisch doorgevoerd. In de hightech willen we echter meestal een meer gecontroleerde uitrol. Op verzoek van Thermo Fisher Scientific is dat inmiddels veranderd.’

Daarnaast hechten hightechbedrijven veel waarde aan een soepele inbedding in hun bestaande softwareprocessen, met name die voor continuous integration en delivery (ci/cd). ‘Dat speelveld is nu heel erg in beweging, met als achterliggende gedachte dat je zo veel en zo vaak mogelijk wilt testen’, signaleert Bakker. ‘Bij mbt wil je soms echter alleen een snelle modelcheck uitvoeren zonder de hele pijplijn te doorlopen. Mbt-leveranciers zijn nu druk bezig, onder meer in samenwerking met universiteiten, om hun spullen naadloos te integreren in bestaande ontwikkelomgevingen.’
Die wendbaarheid is cruciaal voor de adoptie van modelgebaseerd testen, vindt Schmaltz. ‘Het is goed om te zien dat een partij als Axini zich heeft ontwikkeld van een naar binnen gericht bedrijf dat puur bezig was met het bouwen van een platform, naar een naar buiten gerichte onderneming die samen met partners als CGI, ICT en Sioux behoeftes in de markt oppikt en daar snel op inspeelt. Behoeftes zoals de integratie met versiebeheer, ci/cd en andere processen en werkwijzen bij klanten. Samen werken we aan de volwassenheid van het platform en de bekendheid van mbt.’
Kookboek
Zelfs met alle technologische vooruitgang blijft het modelleringsgedeelte van mbt grotendeels mensenwerk, wat een extra uitdaging vormt. ‘Modellen maken is niet voor iedereen weggelegd’, stelt Bakker. ‘Dat zagen we al bij Sioux met de ASD- en Dezyne-klanten en dat ervaren we nu weer met mbt bij Thermo Fisher Scientific. Een testengineer is niet vanzelfsprekend ook goed in automatiseren, laat staan in modelleren. Je moet analytisch kunnen denken en kunnen abstraheren van de details. Mensen kunnen zeker leren om te modelleren, maar alleen als er al een basis is.’
Schmaltz ziet ruimte voor verbetering in de discipline van modelgebaseerd testen zelf. ‘We moeten betere kaders creëren om systematischer te modelleren en zo de drempel te verlagen. Mbt-consultants kunnen maar tot op zekere hoogte helpen. Op een gegeven moment staan engineers er alleen voor. Dan kunnen zaken als best practices en design patterns hun leven echt aangenamer maken. Wat we nodig hebben, is een boek met voorgekookte oplossingen zodat mensen het wiel niet steeds opnieuw hoeven uit te vinden. Daarvoor is het zaak om meer community’s op te zetten waarin we alle kennis bij elkaar brengen.’
Community’s zoals de mbt-werkgroep bij Testnet, de Nederlandse vereniging van testengineers. Daar wisselen Bakker en Schmaltz hun ervaringen in modelgebaseerd testen uit met collega’s van andere bedrijven. Een prima setting om ook het beoogde kookboek een stap dichterbij te brengen. ‘Een logische volgende stap zou zijn om ook na te denken over mogelijke practices en patronen als input voor een gemeenschappelijke kennisbank, onafhankelijk van de gekozen mbt-smaak en -aanpak’, meent Bakker.
Met behulp van een kookboek voor modelgebaseerd testen zou iedereen met een hogere opleiding het vak onder de knie moeten kunnen krijgen, denkt Schmaltz. Tegelijkertijd roept hij het hoger onderwijs op om de handschoen op te pakken en de mbt-vaardigheid van de studenten te vergroten. ‘De Open Universiteit doet een beetje aan modelgebaseerd testen. En ik weet dat Axini samenwerkt met de Universiteit van Amsterdam. Over het geheel genomen zouden universiteiten echter veel meer kunnen doen, waarbij het bedrijfsleven hen ondersteunt met de praktische handvatten.’
Poelsma sluit zich daarbij aan. ‘Dergelijke patronen zijn onmisbaar voor de verdere adoptie van mbt. Het mooie is dat je er binnen de context van één klant niet heel veel nodig hebt. Omdat ze aansluiten bij de specifieke softwarearchitectuur van die klant, is een kleine set patronen vaak al voldoende om de mbt-bal aan het rollen te brengen. We zien dat ook bij Thermo Fisher Scientific. Voor een van de softwarecomponenten kostte het Axini een paar iteraties om tot de juiste oplossing te komen voor de afhankelijkheidsinterfaces, maar nu hebben we iets dat gemakkelijk schaalt naar andere componenten. Deze patronen hebben ons een vliegende start gegeven bij het modelleren en het realiseren van de ambitie van het bedrijf om meer te doen voor minder.’

Verandering
Uiteindelijk is de invoering van mbt een kwestie van verandermanagement. ‘Het is zaak om het in het proces van de klant te krijgen’, merkt Schmaltz op. ‘Dat vereist experts zoals wij, die de technologie kennen en kunnen toepassen in een breed scala aan omgevingen. Maar het vergt ook veel change agents, die de business van de klant kennen en snel kunnen vaststellen hoe ze mbt daar het beste kunnen laten werken.’
‘Het gaat erom commitment te krijgen in de hele organisatie’, vult Bakker aan. ‘Onze werkwijze is zowel bottom-up als top-down. We beginnen met kleine pilots en bouwen het van daaruit op, waarbij we zorgvuldig kiezen waar we naartoe uitbreiden. Tegelijkertijd hanteren we een breed perspectief: als we mbt over de hele linie willen toepassen, hebben we specialisten nodig op alle cruciale plaatsen in de softwareontwikkelomgeving. Het is van essentieel belang dat we het van beide kanten aanvliegen en die twee kanten dan bij elkaar brengen.’
‘Zoals bij elke introductie van een nieuwe testtechnologie is het heel moeilijk om van tevoren te zeggen wat het gaat brengen. Dat wordt pas achteraf duidelijk’, geeft Poelsma aan. ‘Daar komen de succesverhalen om de hoek kijken, zoals het verhaal dat we nu bij Thermo Fisher Scientific aan het bouwen zijn. Met harde bewijzen van de voordelen kunnen we anderen echt overtuigen.’
Die anderen zullen zeker komen, daar is Schmaltz van overtuigd. ‘Modelgebaseerd testen heeft te veel potentieel om te mislukken.’
Dit artikel is tot stand gekomen in nauwe samenwerking met Axini.