Op dit moment worden er veel ontdekkingen gedaan in de wereld van kunstmatige intelligentie. Hieruit ontstaat de vraag of ook voor ons vakgebied een bruikbare applicatie bestaat.
In hun presentatie gingen Michiel Keij en Robin van Groesen in op deze zoektocht en op de vraag of testers gebruik kunnen maken van kunstmatige intelligentie als tool.
Uit deze zoektocht is een concept ontstaan dat tracht om een applicatie te ontwikkelen dat zelf leert en vervolgens zijn bevindingen teruggeeft in de vorm van specificaties. Een voorbeeld: stel je moet een invoerveld syntactisch testen, dan kun je natuurlijk zelf gaan zoeken naar de grenswaarden en de soorten invoer die toegestaan zijn. Maar hoe praktisch is het als een kunstmatige tester je de specificaties kan geven? Dan weet je direct wat de grenswaarden zijn die de kunstmatige tester heeft gevonden en of die correct zijn. Deze casus is omgezet in een “proof-of-concept” demo.
In de demo is te zien hoe de applicatie leert dat waarden boven de 5 en niet-numerieke tekens niet waren toegestaan in de stub. Hierop heeft het geleerd wat de specificaties van het invoerveld waren, namelijk maximaal 5 numerieke tekens. De stub is tijdens de demo ook aangepast naar 7 om aan te tonen dat de applicatie ook kan leren dat het maximum 7 tekens is.
De applicatie bestaat uit een drietal kernconcepten. De eerste is het neurale netwerk. Dit vertegenwoordigt het lerend gedeelte van de applicatie. Dit onderdeel zal de beslissing maken of de applicatie het scenario zal accepteren of niet. Zie het als het onderdeel dat het verwachte gedrag opstelt.
Het tweede concept is een genetisch algoritme. Als het neurale netwerk klaar is met leren dan is het tijd om deze kennis uit het netwerk te halen. Het genetisch algoritme helpt ons om gemakkelijker de juiste data uit het netwerk te halen om zo tot de juiste conclusies te komen.
Het laatste concept is die van het expertsysteem. Aangezien we nog ver weg zijn van “Strong AI” oftewel kunstmatige intelligentie die generieke problemen kan oplossen, is het noodzakelijk om de kennis van testers te gebruiken in het model. Het doel van de testers is om de eigenschappen te distilleren die een functionaliteit beschrijven. In het voorbeeld van de demo zijn dit dus de lengte van het veld en het type invoer.
Volgens Michiel en Robin toont de demo dat het concept werkbaar is en we aan een productie-applicatie kunnen gaan werken.
Dit artikel is een samenvatting van de Prezi presentatie die Michiel Keij en Robin van Groesen gaven tijdens de Polteq Conferentie op 7 juni 2018.