Onderzoeker Machiel van der Bijl promoveerde deze maand aan de faculteit Elektrotechniek, Wiskunde en Informatica van Universiteit Twente eindelijk op zijn onderzoek naar model-based testing. Dat had al veel eerder gekund, geeft hij toe, want zijn methode wordt al enige tijd in de praktijk toegepast. “Ik had steeds geen tijd voor mijn promotie, want de eerste klanten die mijn software mochten uitproberen wilden ermee verder.”

De nogal summiere website (http://www.axini.com) van zijn reeds drie jaar geleden opgerichte spin-off bedrijf Axini licht nog niet echt een tipje van de sluier op, maar Van der Bijl heeft naar eigen zeggen een aantal grote klanten binnengesleept, die hij overigens niet wil noemen.

Testrobots naar iedere straat

Het testen van software is bepaald geen makkelijke opgave vanwege de complexiteit. “Over het algemeen wordt er dan ook steekproefsgewijs getest”, zegt Van der Bijl. “Ik vergelijk het met de stadsplattegrond van New York, waarbij je een dag de tijd krijgt om uit te zoeken of de plattegrond overeenkomt met de werkelijkheid. Het gebeurt zelden - om de parallel door te trekken - dat je iedere straat en elk kruispunt checkt.”

En dat is wat model based testing nu juist wel doet. “We maken als het ware een elektronische plattegrond van de software en sturen daarmee testrobots aan, zodat iedere straat wordt nagelopen en elke kruising van verschillende kanten wordt benaderd. Als je wilt, kun je achter elkaar wel 1 miljoen testen uitvoeren.”

Testfase verkort met 30 procent

De testfase van software bestaat doorgaans uit drie stappen: het ontwikkelen, het uitvoeren en het beoordelen van de testen. Model-Based Testing automatiseert alle stappen in het testproces, waarbij het model nog wel met de hand moet worden gemaakt. Van der Bijl: “Het maken van het model voor een groot systeem neemt wel een paar manmaanden in beslag, maar vervolgens ben je veel sneller klaar met het testen zelf. Bovendien kun je aangepaste software meteen ook weer testen.”

Van der Bijl zegt dat zijn methode de doorlooptijd van de testfase met minstens dertig procent kan verkorten. Voor een niet nader genoemde klant kon men de totale ontwikkelingstijd van de software zelfs met een factor vier verlagen.

Makers van niet-kritische systemen kunnen de testkosten drukken door gratis betaversies van software weg te geven of online te zetten. Dan zijn het de gebruikers zelf die fouten in de software vinden. Maar voor kritische systemen als medische toepassingen of navigatieapparatuur is dat wat lastiger.

Nederland voorop

Wat de software overigens niet doet is aangeven waar in de code precies een fout zit, zegt Van der Bijl. Andere onderzoekers, zoals die aan de TU Delft, richten zich daar meer op. “In Nederland lopen we met onderzoek naar geautomatiseerd testen internationaal voorop”, zegt Van der Bijl, die ook zijn eigen software automatisch test.