Over de noodzaak van geautomatiseerd testen zijn ze het wel eens, de deelnemers aan het rondetafelgesprek dat Sogeti kortgeleden organiseerde. De toenemende complexiteit van applicaties en hun gewenste korte ontwikkeltijd maken het ondoenlijk om code en functionaliteit handmatig te controleren. Als het aankomt op de inzet van algoritmes en de gevolgen voor het werk van test engineers, lopen de meningen uiteen.
In de marge van de Quality Experience Day in Utrecht organiseerde it-dienstverlener Sogeti begin oktober een besloten discussie over de toekomst van software testing. Tijdens het gesprek deelden it-managers van Alliander, Enexis, Vivat Verzekeringen, Nationale Hypotheek Garantie (NHG), Nederlandse Spoorwegen en drie Sogeti-consultants hun visie op geautomatiseerde software testing en het gebruik van kunstmatige intelligentie (ai) daarbij.
‘Binnen tien jaar heeft artificial intelligence het grootste deel van software testing overgenomen. De tester van vandaag is de datatypiste van dertig jaar geleden.’ Erno Bammens van Enexis zet gelijk de toon in de discussie. De manager ICT Vernieuwing vertelt dat zijn organisatie al een heel eind is met geautomatiseerde softwaretests en ook al experimenteert met ai. ‘Later dit jaar beginnen we met model-based testing. Over een jaar gebruiken we tools, waarmee we testen volledig automatiseren. Dan gebeurt nauwelijks meer iets handmatig. Zelfs de teststrategie wordt dan vastgesteld op basis van geautomatiseerde risicoanalyses. Dat is dan het einde van het beroep tester.’
Kwaliteit en communicatie
Volgens anderen zal het zo’n vaart niet lopen. ‘Test engineers blijven altijd bestaan’, verwacht Vincent Wijnen, test automation consultant bij Sogeti. ‘Ze moeten wel meer verantwoordelijkheid durven nemen voor de kwaliteit van softwareoplossingen en daarover de discussie aangaan.’
Hij krijgt bijval van Paul Custers, manager van het test competence center van de Nederlandse Spoorwegen. ‘Zeker binnen DevOps-teams verandert de functie van tester. Het wordt steeds meer iemand die tijdens het ontwikkelproces de kwaliteit en de communicatie tussen de diverse mensen bewaakt.’
Als je alles automatiseert, mis je veel van de dynamiek tussen developer, tester en eindgebruiker, vindt ook Frank van der Meer. De manager IT van NHG voorziet dat vooral op communicatievlak een rol voor de tester blijft weggelegd. ‘Hij heeft inzicht in het proces en in de hele keten. Als iets fout gaat, moet het eerst terug naar de tester.’
Theorie
Sogeti heeft veel softwaretesters in dienst en dus verbaast het niet dat behalve Wijnen ook zijn collega’s Rob Vijverberg en Tom van de Ven voor deze functiegroep een toekomst zien weggelegd. ‘Je hebt binnen elk testteam wel mensen nodig die de theorie begrijpen, bijvoorbeeld om de testmodellen en testgroepen te valideren’, zegt Vijverberg. Hij leidt binnen Sogeti Nederland het portfolio cluster Digital Assurance & Testing.
‘Het klopt dat de eigenschappen van veel traditionele testers binnenkort niet meer toereikend zijn. Ze hebben nu veel domeinkennis, analytisch vermogen en een sterke focus op testen en kwaliteit. Een groot deel van die kennis en analyses wordt straks overgenomen door slimme algoritmes. Testers moeten veel meer het overzicht bewaren, communicatief vaardig zijn en analyses op juiste manier in de context plaatsen.’ Senior test consultant Van de Ven vult aan: ‘Als tester moet je toezien op de testbaarheid, ongeacht wie de test uitvoert. Een echte kwaliteitsspecialist die het overzicht houdt. Iemand die met een helikopterblik alle raakvlakken van de gekoppelde systemen ziet. Daarmee wordt de tester veel meer een voorspeller.’
Evolutionair testen
‘De daadwerkelijke uitvoerder van de tests valt echter wel weg’, verwacht Van de Ven. Dat komt dan vooral door smart testing en ai. Smart testing houdt in dat grote delen van het testproces worden geautomatiseerd aan de hand van lineaire historische gegevens en scenario’s. Echt smart wordt testing pas door inzet van algoritmen en hergebruik van de uitkomsten van eerdere tests. Dit laatste heet evolutionair testen. Zonder noemenswaardige tussenkomst van softwaretesters krijg je zo een accurate inschatting van de kwaliteit van de applicatie.
Evolutionair testen resulteert in een pluimgrafiek, waarvan de bandbreedte toeneemt naarmate je meer scenario’s meeneemt in het algoritme. Hoe breder de pluim, hoe minder stellig de uitkomsten van het testproces zijn. Volgens Van de Ven is een test engineer nodig om de resultaten te interpreteren. Er zijn best redenen te bedenken waarom je als mens bijvoorbeeld een voorkeur voor de bovenkant van de pluim kunt hebben, is zijn redenering.
Noodzaak
Dergelijke smart testing wordt pure noodzaak om de toenemende complexiteit van applicaties het hoofd te bieden, zegt Vijverberg. ‘Apps die sneller moeten worden ontwikkeld, IoT-toepassingen die in opkomst zijn, teams die versnipperen: het wordt er niet gemakkelijk op. De enige oplossing om de kwaliteit hoog te houden, is test automation van voor tot achter. Het is geen keuze. Geautomatiseerd software testen bestaat al langer, maar de mogelijkheden worden nog onvoldoende benut. Het ligt er gewoon al. Het is een kwestie van doen.’
Maar hoe dan? Hoe moet je als organisatie het gebruik van smart testing stimuleren? Daarover zijn de gesprekspartners het niet eens. De meesten vinden dat je beter een weloverwogen strategie rond smart testing kunt formuleren dan het organisch te laten ontstaan. ‘Je moet het verankeren in de filosofie van het bedrijf. Als je het vrijelijk laat ontstaan, loop je wellicht later aan tegen zaken die je niet meer kunt veranderen’, verwoordt Vijverberg dit.
Klinkt logisch, maar toch is niet iedereen het hiermee eens. Erno Bammens van Enexis: ‘Het is niet slim om alles vooraf te definiëren. Alles wat wij nu denken te weten, wordt de komende vijf jaar op losse schroeven gezet. Wie kon bijvoorbeeld zien aankomen dat onze grootste concurrent op het gebied van informatievoorziening over geosystemen tegenwoordig Google is? Je moet de strategie dus zien als een conclusie en niet als de definitie vooraf. De hang naar controle beperkt ons alleen maar. We worden gekaderd in wat we mogen doen.’
Hergebruik
Over zaken als hergebruik van tooling en kennis kun je wel degelijk vooraf afspraken maken, mengt Custers van de NS zich in de discussie. ‘Je hebt hoe dan ook controle nodig. Hoe pak je de veranderingen anders gestructureerd aan? Aan onze planningssystemen voor de dienstregeling en de logistiek werken it’ers met ruim twintig jaar training en ervaring, onder meer op het gebied van ITIL. Tegenwoordig richten we ons meer op change en zo’n proces zul je toch echt gecontroleerd moeten invoeren.’
De inzet van algoritmes tijdens software testing maakt hergebruik van tooling juist minder belangrijk, stelt test automation consultant Wijnen. ‘Geautomatiseerde testprocessen wisselen heel snel. Het wordt steeds moeilijker om dit bij te benen zonder de hulp van artificial intelligence. De testcases van vandaag gooi je morgen gewoon weg. Dan is het handig als je kunt terugvallen op slimme algoritmes.’
Vertrouwen
Of organisaties bij software testing het gebruik van algoritmes zullen omarmen, hangt af van het vertrouwen dat de technologie krijgt. Wijnen: ‘Met artificial intelligence kom je tot slimmere oplossingen. Zie het als een nieuwe schaakzet waaraan je zelf nog niet had gedacht. Ai begint op het punt waarop wij als mens het begrip gaan missen door de complexiteit. Je moet er maar op durven vertrouwen.’ Het zal volgens de heren nog wel even duren voordat organisaties dat vertrouwen volledig hebben. De één schat dat de algoritmes nog vijf tot tien jaar nodig hebben, een ander heeft het over vijftig jaar.
Hoe lang het ook nog duurt voordat organisaties het testproces volledig toevertrouwen aan ai, de huidige rol van softwaretesters gaat vanaf nu veranderen, is de uitkomst van de discussie. De test engineer van morgen is iemand die behalve de nodige theoretische kennis beschikt over procesoverzicht, communicatieve vaardigheden en het inzicht om analyses op de juiste manier te interpreteren. Mede door de toenemende complexiteit en werkdruk zullen zelfs testers steeds meer vertrouwen krijgen in geautomatiseerd testen en slimme algoritmes.
(Deze bijdrage is afkomstig uit Computable Magazine, editie 01/2018.)
Gesprekspartners
Het rondetafelgesprek vond plaats tijdens de Quality Experience Day in Utrecht. Op het event, opvolger van TMap Dag, kwamen honderden softwaretesters, beheerders en -ontwikkelaars af. Deelnemers aan het gesprek waren Harro Philip, testmanager bij Alliander, Ed Moerman, hoofd IT tooling bij Vivat Verzekeringen, Frank van der Meer, manager ICT bij Nationale Hypotheek Garantie, Erno Bammens, manager ICT Vernieuwing GEOS bij Enexis, Paul Custers, manager test competence center bij NS, Tom van de Ven, senior consultant softwaretesten bij Sogeti en Vincent Wijnen, test automation consultant bij Sogeti. De discussie werd geleid door Rob Vijverberg, Head Portfolio Cluster Digital Assurance & Testing bij Sogeti.
World Quality Report 2017
Sogeti presenteerde begin oktober het World Quality Report 2017. Daarin concludeert de it-dienstverlener onder meer dat 16 procent van de grootzakelijke organisaties slimme algoritmes inzet om software te testen. Daarnaast stelt het bedrijf vast dat van het totale it-budget steeds minder geld wordt toegewezen aan kwaliteitszorg en testen. Drie jaar achter elkaar is het percentage gedaald: van 35 procent in 2015 tot 26 procent in 2017. Tegelijkertijd voorzien respondenten dat testbudgetten de komende jaren weer stijgen door de grote toename van digitale producten. Software testing-teams zullen dus slimmer moeten werken om met minder budget meer te testen in een omgeving die verschuift naar agile softwareontwikkeling waarbij ontwikkelaars en beheerders samen optrekken.