Content

AI, oplossing “out of the box” of Pandora’s box?

AI, oplossing “out of the box” of Pandora’s box?

Hoe kritisch ben jij op AI tijdens softwaretesten?

Hoe goed vertrouw je iemand die iets zegt op basis van waarschijnlijkheid? Het lijkt een retorische vraag, maar zodra we dit betrekkenop wat Artificial Intelligence (AI) doet, gaan we daar een stuk makkelijker mee om.

AI heeft een revolutie teweeggebracht in de hoeveelheid informatie die beschikbaar is gekomen om het testen van software te verbeteren. En niet alleen de beschikbaarheid, maar ook de manier waarop deze informatie aan ons wordt aangeboden en gepresenteerd. Je zou het bijna een soort "Google 3.0" kunnen noemen. Het gaat een stap verder dan wat Google doet: AI beantwoordt onze vragen in een coherente tekst en kan daarbij gebruikmaken van data die online beschikbaar is. Een groot gemak dat dient als inspiratie om je testaanpak, je risico-inventarisatie, je testgevallen en je testautomatisering te verbeteren! Je kan AI zelfs gebruiken als sparringpartner om je eigen ideeën te pitchen en te laten reviewen.

Maar we zouden geen goede testers zijn als we niet kritisch naar deze oplossingen zouden kijken. Wie test de tester? Neem bijvoorbeeld de eerste zin van dit blog, waarin het woord “waarschijnlijkheid” bewust is opgenomen. Dat woord zou een alarm moeten laten afgaan. Want een kans op waarschijnlijkheid impliceert ook een kans op onwaarschijnlijkheid. Hoe ga je als tester om met deze onzekerheid? Het simpele antwoord is: "Practice what you preach." Dus laten we als testers naar de risico’s kijken als je AI gebruikt bij het testen:

De zwarte doos

AI-toepassingen werken vaak als een zwarte doos. We kunnen niet beoordelen welke data en algoritmen zijn gebruikt om tot een resultaat te komen. De mate van waarschijnlijkheid van de output is daardoor een onbekende. Bij sommige AI-toepassingen is wel duidelijk welke bronnen worden gebruikt, zoals openbare data van internet met bronvermeldingen. Hoewel dit waardevolle informatie kan zijn, is er ook veel minder betrouwbare en verouderde data op internet beschikbaar (om het vriendelijk te zeggen).

Een ander woord voor AI is toegepaste statistiek. Het genereert antwoorden op basis van een groot aantal datapunten en komt uit opeen "gemiddelde". Maar hoe zeker ben je ervan dat de waardevolle informatie statistisch gezien minstens even zwaar weegt als minder betrouwbare bronnen? Je bent vaak afhankelijk van de hoop(!) dat het gemiddelde voldoende representatief is voor het antwoord op jouw vraag.

Controle over de data

In sommige gevallen kan je zelf bepalen welke data wordt gebruikt door AI, bijvoorbeeld door bedrijfsdocumenten, om je testen te verbeteren. Dit kan dienen als testbasis. Maar hoe weet je zeker dat deze data voldoende volledig en representatief is? Staan er belangrijke aannames "tussen de regels" die niet expliciet zijn gedocumenteerd? Of bevat de documentatie slechts wenselijke, maar niet realistische beschrijvingen van de bedrijfsprocessen? Is het document (voldoende) bijgewerkt de afgelopen periode?

De risico’s van AI in softwaretesten

Als je bovenstaande risico’s bekijkt (en dit zijn er slechts enkele), wordt duidelijk dat voorzichtigheid en zorgvuldigheid essentieel zijn wanneer je AI-resultaten gebruikt om te testen. Het gebruik van AI vraagt om kennis, kunde en ervaring. Een tester zonder deze competenties loopt het risico om fouten te maken en cruciale informatie (zoals bugs) te missen.

Testen gaat verder dan alleen data invoeren in een tool en vragen om een testaanpak of testgevallen. Het is mensenwerk, en dat blijft zo in alle fasen van softwareontwikkeling. Een goede tester vraagt zichzelf continue dingen af zoals:

  • Welk probleem wil de opdrachtgever oplossen?
  • Wat is de organisatorische en culturele context van de opdracht?
  • Welke zorgen hebben stakeholders die niet expliciet zijn gedocumenteerd?
  • Wat kan er misgaan bij de realisatie van de oplossing?
  • Heeft het scrumteam voldoende ervaring om het probleem effectief aan te pakken?
  • Hoe verhoudt dit probleem (bug) zich tot de waarde die het systeem moet opleveren?

Deze en andere (menselijke) factoren hebben grote invloed op de testscope, aanpak en uitvoering. AI kan hierbij een nuttig hulpmiddel zijn, maar alleen als je in staat bent om de uitkomsten kritisch te beoordelen. Zonder de benodigde kennis, kunde en ervaring vergroot je de kans dat je niet in staat bent om adequaat en relevant te testen.

Het succesvol testen met AI hangt niet alleen af van de technologie maar valt samen met de scherpte en kennis van de tester

(En ja, bij deze tekst hebben we gebruik gemaakt van AI, de schrijvers zijn echter volledig verantwoordelijkheid voor de inhoud van de tekst 😉)

Hoe gebruik jij AI in je werkzaamheden?

Terug

OrangeContent

More blogs