Neemt AI onze baan als tester in?

header image: 
Titel: 
Marek Lof - Neemt AI onze baan als tester in?
Datum: 
woensdag, 29 april, 2020
Nederlands
Thumbnail image: 

Door de jaren heen heb ik me op testgebied op verscheidene vlakken verdiept en door vallen en opstaan ben ik te weten gekomen wat werkt en niet werkt qua testen en kwaliteit. Ik heb daardoor op het gebied van testen de afgelopen jaren mogen spreken op meerdere conventies en seminars van TestNET, Noordertest en de Nationale Test Dag, en vele workshops bij klanten van CIMSOLUTIONS verzorgd.

We zijn nooit uitgeleerd en ik leer elke dag bij, zo ook bij het onderwerp testen met AI. Hier is zoveel nog in beweging, alsof de big bang van testen met AI net geweest is. De techniek wordt steeds krachtiger en er verschijnen steeds meer aansprekende toepassingen. We zijn binnen CIMSOLUTIONS en met onze partners en klanten intensief bezig te onderzoeken wat AI voor testen betekent en hoe dit het speelveld zal beïnvloeden.

CIMSOLUTIONS doet dit intern middels de zeer actieve testcommunity die via Special Interest Groups kennis deelt en meedenkt over de mogelijkheden van AI; onderzoek ernaar, ontwikkeling ervan en het testen ervan. CIMSOLUTIONS onderscheidt zich hierin met het Competence Center AI, waaraan verschillende disciplines deelnemen en waarin al deze aspecten aan bod komen.

Toekomst van het testvak

AI en Machine Learning zijn volop in ontwikkeling, ook in het testvak. De AI testtools worden geavanceerder en frameworks om zelf iets te ontwikkelen worden toegankelijker. Dat leidt tot de vraag wat de rol van de tester nog is zodra de AI toepassingen volledig zijn ontwikkeld binnen het testvak. Ofwel: 'neemt AI onze baan als tester in?' Samen met de Werkgroep Testen met AI [ad.1] heb ik het whitepaper "Testen met AI" opgesteld. Het whitepaper heeft op dit punt duidelijk gemaakt, dat we voor dat laatste niet bang hoeven zijn.

Wel is duidelijk dat het testvak zal veranderen door de komst van AI, net zoals de huidige testautomatisering dit heeft gedaan. En dit zal ook gevolgen hebben voor de rol en de vaardigheden van de tester. CIMSOLUTIONS heeft een actieve samenwerking met de werkgroep Testen Met AI onder de vleugels van TestNET. Deze werkgroep bevat een grote groep professionals welke zich vanuit verschillende invalshoeken sterk maakt voor de ontwikkeling van testen met AI en sinds kort ook van testen van AI. Hieronder volgt een korte excerpt van het Whitepaper.

Hoe verandert het testvak?

Omgaan met zelflerende AI testtools

Hoewel getrainde AI testtools ons veel werk uit handen zullen nemen, zullen we een oplossing moeten vinden voor het feit dat getrainde modellen zich niet 100% volgens verwachting zullen gedragen, in tegenstelling tot geprogrammeerde testtools. Machine Learning leert immers van voorbeelden, in plaats van dat het vaste regels volgt. Dat betekent dat de testtools en onze eigen configuratie daarvan, zelf ook getest moeten worden. Per geval moet worden gekeken of de inspanning van het testen van de AI testtool opweegt tegen het voordeel dat de AI testtool brengt.

Bovendien moeten testresultaten op een andere manier worden geïnterpreteerd. Een traditioneel geprogrammeerde testtool loopt vast als een bepaald object niet wordt gevonden. Een AI testtool vindt waarschijnlijk een omweg om de test af te ronden en zal je melden dat 'de test voor 87% geslaagd is'.

Keuze uit meerdere tools

De makers van tools hebben we gevraagd naar hun toekomstbeeld van testen en tools. We hebben ze gevraagd waar ze nu denken dat het naar toe gaat. De mensen die we gesproken hebben zijn er van overtuigd dat het gebruik van testtools met AI komende tijd zal toenemen.

Trends zijn dat tools met AI naast traditionele tools gebruikt zullen gaan worden. Tools met AI zijn op dit moment gespecialiseerd voor één specifieke taak. In de toekomst zal het gebruikelijker worden om meerdere testtools naast en met elkaar te gebruiken en zo een palet aan tools te hebben dat de totale range aan testactiviteiten bestrijkt.

Een andere trend is dat kleinere tool leveranciers hun diensten samen aan gaan bieden. Bijvoorbeeld tools die de applicatie kunnen verkennen combineren met tools die goed zijn in slimme image recognition. En mogelijk ook dat een tool als Selenium IDE gebruikt kan gaan worden in combinatie met een of meer AI tools.

Het tegenovergestelde is specialisatie zoals je dat nu bij tools als test.ai tegen komt. Deze tool richt zich uitsluitend op webshops. Het doel is om op termijn een testservice voor webwinkels aan te bieden die volledig zelfstandig kan werken. Er zijn tools met AI die zich specifiek op de app-markt richten. Voor apps is het ook belangrijk om snel en op zoveel mogelijk platforms te kunnen draaien.

Bij grotere testframeworks begint men ook interesse voor het aanbieden van AI te krijgen. Functionize, Appvance en Eggplant zijn voorbeelden van Amerikaanse testplatforms die dat al langer doen en elk op een eigen manier.

Testen wordt creatiever

Door de komst van tools zoals Selenium, zijn herhaalde testen weggehaald bij de tester en kon het handmatige testen zich meer richten op de creatieve testsituaties. Dit wordt versterkt als AI testtools nog meer standaard testen van ons overnemen.

Bovendien zal AI helpen om veel van de (technische) unittesten te schrijven en uit te voeren, zodat de tester zich meer kan richten op functionele en complexere non-functionele testen. Het handmatige, creatieve testen verschuift naar het verifiëren van de requirements en naar het leveren van waarde voor de organisatie.

Hoe verandert de rol van de tester?

Het werk van een tester zal blijven bestaan. Wel zullen de werkzaamheden, die nodig zijn om inzicht in kwaliteit en risico’s te geven, veranderen. Daarmee zullen ook de nodige kennis en vaardigheden veranderen. We zien de volgende ontwikkelingen;

Duidelijk formuleren van doelstellingen

Dit whitepaper laat zien dat een AI ons op allerlei punten kan ondersteunen bij het testproces. Er is zelfs een mogelijkheid dat de AI zelf op verkenning gaat. Dit betekent dat we duidelijk moeten aangeven wat we eigenlijk verwachten van de applicatie en wat we graag getest willen hebben. Ofwel; meer aandacht voor requirements, acceptatiecriteria én testdoelen. Want in het meest extreme scenario zou de AI zonder enig sturen kunnen verkennen en zouden we maanden bezig zijn om de resultaten te beoordelen. Een goede set aan verwachtingen vooraf kan dit voorkomen.

Overigens betekent dit niet dat we moeten stoppen met zelf de applicatie te verkennen via bijvoorbeeld exploratief testen. Het wordt misschien nog wel belangrijker; de menselijke tester doet een goede verkenning van het speelveld, het grootschalige en herhaalde testen laten we aan de AI.

Managen van onzekerheid in het testproces

Het toepassen van zelflerende AI (ofwel machine learning) zorgt ervoor, dat we geen absolute 'goed' of 'fout' uitslagen krijgen. Als tester zullen we zelf een interpretatie moeten doen van een zekerheidspercentage die de AI terug geeft. Dus als de AI een testgeval voor 87% geslaagd vindt, hoe rapporteren we dit en welke vervolgactie geven we hieraan? Dit zal per project anders zijn; het is mensenwerk om dit te bepalen en soms waar nodig aanvullend handmatige testen te doen.

Ook de testmanager zal deze onzekerheid ervaren. Als de meeste testen voor minimaal 90% geslaagd zijn en enkele testen voor 75%, zijn we dan klaar? Dit is een interpretatie die de testmanager moet doen en komt mooi terug op het vorige thema; zorg dat er duidelijke verwachtingen vooraf zijn. Bovendien vraagt het om de vaardigheid om grote hoeveelheden cijfers te interpreteren. En dat brengt ons bij het volgende punt.

Kennis van statistiek

Het interpreteren van grote hoeveelheden uitslagen en zekerheidspercentages, vraagt van de tester en de testmanager dat er enige statistische kennis aanwezig is. Zelfs als kant-en-klare tools beweren dat het de interpretatie graag namens jou uitvoert, is het van belang om zélf een gefundeerd oordeel te hebben over alle cijfers die een AI teruggeeft. Moeten de tester en testmanager dan een part-time data scientist of data engineer worden? Dat is nog moeilijk te zeggen, maar wat basiskennis helpt je zeker op weg.

Betere kennis en begrip van testtools

Er is een zeer diverse hoeveelheid tools beschikbaar. Los van of ze 'echt AI' zijn, hebben ze allemaal een verschillende manier waarop ze waarde bijdragen, in verschillende omgevingen. De trend die nu al zichtbaar is, is dat een groot aantal tools aan elkaar wordt gekoppeld om de testdoelen te bereiken. Hier zullen AI-ondersteunde tools bij komen.

De verwachting is dat het geautomatiseerde gedeelte van het testproces groter wordt, ten opzichte van handmatige test- en testondersteunende activiteiten. Kennis van welke tools je kunt inzetten, in welke combinatie en vooral met welk doel, wordt daardoor nóg belangrijker.

Het testvak is dus nog steeds aan het uitdijen. Bij CIMSOLUTIONS zien we dat klanten expertise vragen op het gebied van testen welke ze zelf niet in huis hebben. CIMSOLUTIONS faciliteert daarin en werkt nauw samen met haar klanten om te komen tot een passende oplossing voor een vaak zeer specifiek probleem. Maar ook in de brede zin van het vak is er steeds meer vraag naar testkennis. Ik ben momenteel bezig met het opzetten van een algemene opleiding functioneel testen welke specifiek gebruikt gaat worden om de business met beperkte testervaring in een legacy- of DevOpsomgeving toch veel dichter bij de ontwikkeling van software te betrekken om zo te komen tot de vereiste business value.

Ofwel: er zal altijd een rol blijven voor iemand die over kwaliteit nadenkt, die kritische vragen stelt en die de communicatie over doelen en prioriteiten verzorgt. Om Jeremias Rößler [ad.2] aan te halen; de kans dat we ooit automatisch software gaan bouwen is groter dan dat we deze volledig automatisch gaan testen. Want juist als een AI op basis van een model zelf een applicatie bouwt, is het van belang dat dit níet volgens datzelfde model getest wordt.

Marek Lof
Projectmanager / Technisch Consultant

[ad.1] Informatie over werkgroep Testen en AI
[ad.2] Dr. Jeremias Rößler - When Will AI Take My Job As a QA Manager

AI en Machine Learning zijn volop in ontwikkeling, ook in het testvak. De AI testtools worden geavanceerder en frameworks om zelf iets te ontwikkelen worden toegankelijker. Het testvak zal veranderen door de komst van AI, net zoals de huidige testautomatisering dit heeft gedaan. Dat leidt tot de vraag wat de rol van de tester nog is zodra de AI toepassingen volledig zijn ontwikkeld binnen het testvak. Ofwel: ‘neemt AI onze baan als tester in?