Development

Software-ontwikkeling
raw data snapshot

AI krijgt cruciale rol in ontwikkeling software

Artificiële intelligentie (AI) vereist nieuwe testmethoden maar helpt ook bij testen

27 september 2017

Artificiële intelligentie (AI) vereist nieuwe testmethoden maar helpt ook bij testen

In 2020 heeft nagenoeg elk softwareproduct iets met AI van doen, zegt marktonderzoeker Gartner. Dat betekent dat ook de testprocedures moeten worden aangepast op de integratie van AI. 

AI is een verzamelterm geworden voor heel uiteenlopende technologieën van neurale netwerken tot de black box van machine learning. Hoe wel AI nu een hype is, verkeren de toepassingen nog vooral in een ontwikkelingsstadium. Het meest toegepast in de dagelijkse praktijk zijn de chatbots. Dat zijn redelijk overzichtelijke toepassingen met de inzet van een algoritme dat is afgeleid uit een aantal trainingsronden. Dat is goed te testen. 

Lastiger is als het zelflerend aspect onderdeel moet worden van het softwareproduct, constateert softwaretest-expert Tom van de Ven van Sogeti. "Hoe test je dat wat de software nog niet kan? Je kunt dan hooguit een aantal paden testen die al met het product zijn meegeleverd."

Dat betekent ook dat dat de uitkomst van testen gaat veranderen. Tot voor kort was de uitkomst van een test dat het systeem goed was of fout. "We gaan nu meer naar een 'pluim aan uitkomsten' die een waarschijnlijkheid voorspellen of er fouten optreden of niet." Eigenlijk zoals een weersvoorspelling een vooruitzicht geeft op basis van een pluim aan uitkomsten van verschillende systemen. Met 1000 machines die elk 3000 parameters hebben om te testen heb je een aantal combinaties dat niet te testen is. Je kunt wel vijf configuraties  bedenken waarin 97 procent van de mogelijke fouten is afgedekt. Daar kan kunstmatige intelligentie uitkomst bieden. Binnen enkele seconden is het mogelijk gebaseerd op data uit het veld om die 5 configuraties vast te stellen. waarmee die 97 procent betrouwbaarheid te bereiken is. Die vervolgens geautomatiseerd aan het te testen systeem worden gevoed en geanalyseerd. 

AI test sneller dan testers

AI  gaat ook een belangrijke rol spelen in securitytests, bijvoorbeeld bij penetratietesten. In 2016 werd op een DevCon al de kracht van een AI-gebaseerde penetratietest gedemonstreerd met een fictief verzekeringssysteem. Hackers hadden een dag nodig om een lek te vinden, het AI systeem had het in 3 minuten blootgelegd. 

Vliegtuig
Continu testen en digital twin

Testexpert Tom van de Ven denkt dat de inzet van kunstmatige intelligentie uiteindelijk leidt naar een situatie van continu testen. In een agile omgeving kun je kleine onderdelen testen op functionaliteit en veiligheid, maar dat zegt nog niets over of het samenspel van verschillende kleinere componenten ook aan dezelfde criteria voldoet. Maar ook na in productie nemen is moderne software voortdurend aan verandering onderhevig, bijvoorbeeld op basis van feedback van gebruikers of de wens nieuwe functionaliteit toe te voegen. Ook bij de ontwikkeling van complexe hardwareproducten zoals bijvoorbeeld een vliegtuig of een MRI scanner, is zo'n aanpak relevant.

De komende tijd zal daarom het begrip 'digital twin' steeds populairder worden. Door vanaf het begin van de bouw naast onderdelen van bijvoorbeeld een vliegtuig ook een digitale variant te creëren, kunnen in een vroegtijdig stadium al simulatietests worden uitgevoerd in een virtuele omgeving. De digital twin groeit mee met de assemblage van het eindproduct. Ook tijdens de economische levensduur van het vliegtuig kunnen zo makkelijk simulaties worden gedaan met nieuwe onderdelen of omstandigheden waarin het toestel moet functioneren. 

Uit het World Quality Report 2017 van Sogeti, CapGemini en Micro Focus blijkt dat agile ontwikkelen en DevOps methodieken schuren met de werkwijzen van testers. In plaats van gebruik te kunnen maken van de collectieve kennis en vaardigheden van het centrale ‘Testing Center of Excellence’, moeten zij nu als individu in een multidisciplinair team werken. Bovendien neemt de druk op snel leveren toe. Toch hoeft agile werkwijze en testen niet op gespannen voet met elkaar te staan, zegt Van de Ven. AI kan hier weer te hulp schieten, bijvoorbeeld door als een gemeenschappelijke kennisbank te dienen. AI maakt het bovendien mogelijk steeds meer van de testen te automatiseren. Van de Ven ziet de rol van tester uiteindelijk verschuiven naar een hoger niveau, namelijk om de dashboarden die de testtools genereren in de gaten te houden en te analyseren. 

Cobotics voor de nabije toekomst

Maar voor de korte termijn ziet hij vooral een nauwe samenwerking tussen robot en testengineers, ook wel aangeduid als Cobotics. In eerste instantie zal de robot-tester vooral veel goed werk kunnen doen bij het uitvoeren van regressietests, ofwel het nagaan of door een verandering van een functie andere functies niet negatief worden beïnvloed. 

Een ander gebied waar Van de Ven ziet dat robots een sterke efficiencyverbetering teweeg kunnen brengen, is in usabilitytests. Kunstmatige intelligente systemen kunnen veel leren van hoe mensen naar een scherm kijken en de informatie tot zich nemen. Door die kennis geautomatiseerd toe te passen op een nieuwe app kan veel worden bespaard. Usability tests zijn nu duur en tijdrovend, maar door een robot met een arm en een vinger aan het werk te zetten kunnen eindeloos veel tests snel worden uitgevoerd.

Lees meer over Development OP AG Intelligence
Reactie toevoegen
De inhoud van dit veld is privé en zal niet openbaar worden gemaakt.