In september ben ik met mijn testcollega Eric naar het jaarlijkse QX-Day event in DeFabrique in Utrecht geweest. Hier worden de laatste ontwikkelingen op testgebied gedeeld (naast de altijd uitstekende lunch die we daar krijgen voorgeschoteld).
Het thema van dit jaar was ‘Navigating the GenAI Era’. Generative AI (GenAI) heeft een groeiende impact op ons dagelijks leven, ook in de IT-sector en softwareontwikkeling. Maar wat betekent deze ontwikkeling voor het vakgebied Quality Engineering? Hieronder een greep uit de presentaties die ons is bijgebleven.
Tools en technologieën veranderen constant. GenAI speelt hier een steeds grotere rol in. Waar GenAI eerst vooral werd gebruikt voor het maken van testgevallen en testdata, is het nu op veel meer manieren inzetbaar. Hieronder een aantal voorbeelden van zaken waar GenAI van waarde kan zijn:
Codegeneratie: GenAI kan basiscode schrijven voor bijvoorbeeld Selenium-scripts en andere testautomatisering. Deze code kan later verder worden aangepast en verbeterd.
Kwaliteitsadvies: GenAI kan suggesties doen voor maatregelen die de kwaliteit en het testproces verbeteren.
Dashboardcreatie en meldingen: Met AI kunnen dashboards en rapportages automatisch worden gegenereerd, wat meer inzicht geeft in de status van een project.
Toolselectie: Op basis van de behoeften van het project kan GenAI helpen om de juiste tools te kiezen.
Het gebruik van GenAI in testautomatisering kent een hele hoop voordelen, maar ook enkele nadelen. Laten we beide eens bekijken:
Snellere testontwikkeling: Met tools zoals Zerostep, een Playwright-plug-in, kun je taken zoals inloggen, op basis van de context van een pagina met slechts één regel code voltooien. De plugin herkent een username- en passwordveld, dus gaat er vanuit dat het een inlogpagina betreft.
Minder onderhoud: AI kan veranderingen in de code of interface voorspellen en dit zorgt voor minder onderhoudswerk.
Brede dekkingsgraad: GenAI kan complexe situaties doorgronden en meer testscenario's afdekken dan wanneer je dit uit je hoofd moet doen.
Pairing (2 testers of developers werken aan 1 taak): Dit kan gesimuleerd worden door een tool als bijvoorbeeld Copilot.
Langzamere uitvoering: Tests die gebruik maken van language models draaien vaak langzamer, omdat deze modellen online werken.
Onzekerheid: De uitkomsten van AI-modellen zijn niet altijd voorspelbaar, wat soms tot wisselende resultaten leidt.
Kosten: Geavanceerde AI-tools zijn vaak kostbaar, zowel in gebruik als in het opslaan van gedeelde data.
Privacyrisico's: Testdata kan gedeeld worden met de AI-tool, wat tot privacy- en veiligheidszorgen kan leiden.
Om optimaal gebruik te maken van GenAI in het testproces, zijn er een aantal belangrijke leerpunten die je kunt meenemen. Door deze inzichten toe te passen zul je betere resultaten krijgen.
Context is alles: Vermeld wie je bent en in welke situatie je je bevindt voor relevantere
input.
Schrijf uitgebreide en gestructureerde prompts: Hoe gedetailleerder je prompt, hoe nauwkeuriger en relevanter de output zal zijn.
Valideer de resultaten: Het is cruciaal om de gegenereerde output te controleren op juistheid en of het aansluit bij de testverwachtingen.
Hoewel GenAI je kan helpen met het versnellen en verbeteren van processen, blijft het vakmanschap in testen van groot belang. Testers moeten zich afvragen: Wat is kwaliteit, en welke waarde voeg ik toe? AI kan taken automatiseren, maar menselijk inzicht blijft nodig om te bepalen welke delen van het testproces geautomatiseerd kunnen worden en welke nog steeds beter handmatig uitgevoerd kunnen worden.
Een veelvoorkomend thema in testautomatisering is het vinden van de juiste balans tussen handmatig en geautomatiseerd testen. Niet alles moet of kan geautomatiseerd worden. Handmatig testen is vaak beter geschikt voor situaties waarin menselijke creativiteit en intuïtie nodig zijn, zoals bij gebruikerstesten of UX-evaluaties. Het door veel ontwikkelaars en testers gebruikte mantra ‘automate everything’ gaat dus lang niet altijd op.
Naast efficiëntie wordt ook duurzaamheid steeds belangrijker in de IT. Wist je dat het genereren van een AI-afbeelding evenveel stroom kost als een koelkast die een hele dag draait? Dit soort energieverbruik benadrukt de noodzaak om duurzamer te werken. Hier een aantal voorbeelden van hoe je dit kan toepassen:
Kleurgebruik: Op OLED-schermen verbruikt de kleur zwart minder stroom dan andere kleuren, een interessante overweging bij het ontwerpen van webapplicaties.
Groenere programmeertalen: Sommige programmeertalen zijn energie-efficiënter dan andere. Dit kan een impact hebben op het totale energieverbruik van een applicatie.
Testomgevingen: Door testomgevingen buiten werkuren uit te schakelen, kan er ook energie bespaard worden.
Generative AI biedt een breed scala aan voordelen voor softwaretesten, van het genereren van code en testgevallen tot het automatiseren van dashboards en kwaliteitsadviezen. Ondanks dat er ook risico’s aan zitten, is het een krachtige aanvulling op de toolkit van testers. Het is belangrijk om een balans te vinden tussen handmatig en geautomatiseerd testen en te blijven focussen op de kwaliteit van het testproces. Vakmanschap blijft van groot belang!