Skip to main content

Maakt kunstmatige intelligentie softwaretesters overbodig? Waarschijnlijk niet. AI zal softwareontwikkelaars eerder overbodig maken. Maar het lijdt geen twijfel dat AI een grote verandering in softwaretesten betekent. In dit bericht bespreken we enkele veranderingen die we waarschijnlijk al vrij snel zullen zien.

Lang geleden nam testautomatisering het werk over van testers die het werk van robots deden, dat wil zeggen: tests uitvoeren die door iemand anders waren ontworpen. Testers verdwenen niet. Hun tijd kwam vrij voor het ontwerpen van meer en betere tests en, uiteraard, voor het automatiseren ervan. Later zouden agile methoden en DevOps de tester overbodig maken, omdat ontwikkelaars hun code tijdens het bouwen ervan zouden testen. Het bleek dat de meeste ontwikkelaars liever code schreven dan deze te testen. We leerden ook dat het hele bedrijfsproces over applicatiegrenzen heen moet worden getest. Softwaretesters breidden hun werkterrein uit naar verkennend testen en end-to-endtesten.

Hoe zal AI softwaretesten transformeren

AI zal de rol van de tester transformeren door een geweldige hulp te worden bij activiteiten waar testers niet zo goed in zijn. AI zal waarschijnlijk het hele testproces vormgeven in plaats van alleen afzonderlijke taken te verbeteren.

Want more from The CTO Club?

Create a free account to finish this piece and join a community of CTOs and engineering leaders sharing real-world frameworks, tools, and insights for designing, deploying, and scaling AI-driven technology.

Name*
This field is hidden when viewing the form
This field is hidden when viewing the form
This field is hidden when viewing the form
This field is hidden when viewing the form
By submitting you agree to receive occasional emails and acknowledge our Privacy Policy. You can unsubscribe at anytime.

Kenmerkend voor het werk van een tester is dat dezelfde dingen meerdere keren worden gedaan, met weinig variatie en veel wachttijd. Testers wachten op:

  • een nieuwe release om te testen.
  • het voltooien van de geautomatiseerde testruns.
  • een oplossing voor een bug die verder testen verhindert.
  • Enzovoort...

Testers voeren ook taken uit die veel aandacht voor details vereisen en misschien niet erg motiverend zijn, zoals het analyseren van de resultaten van geautomatiseerde testruns, het onderhouden van geautomatiseerde tests die zijn mislukt door wijzigingen in de applicatie, of het berekenen en rapporteren van de teststatus. Elke minuut die zij aan deze belangrijke taken besteden, wacht iemand anders op testresultaten.

Menselijke softwaretester speelt schaak met AI-robotssoftwaretester
Deze afbeelding is gemaakt met een eenvoudige prompt met behulp van een AI-tool

Het grootste deel van het testwerk bestaat uit het uitvoeren van tests. Dit is grotendeels geautomatiseerd, maar blijft ook menselijke inspanning vergen; en die menselijke inspanning vertraagt de hele testcyclus. We hebben nog steeds mensen nodig om de tests te automatiseren die door een robot moeten worden uitgevoerd, om die tests te onderhouden wanneer de applicatie verandert en om de testresultaten te analyseren. Er zijn al AI-ondersteunde testtools die tests kunnen selecteren en ordenen op basis van de waarschijnlijkheid dat ze fouten detecteren, defecte tests automatisch kunnen herstellen of defectrapporten vooraf kunnen invullen. 

De onmiddellijke impact van AI op QA's

In de volgende golf van het maken van geautomatiseerde tests zullen we tools zien die tests rechtstreeks genereren op basis van een beschrijving van een gebruikssituatie, of zelfs nog directer door te observeren hoe een menselijke tester de applicatie verkent. Dit is een grote stap van geautomatiseerd testen naar autonoom testen. Misschien zijn we er echter nog niet helemaal. De meeste applicaties en bedrijfsprocessen zijn bedrijfseigendom en de gegevens die nodig zijn om de AI te trainen zijn verspreid over verschillende softwaretesttools. Daarom zullen we waarschijnlijk eerst door mensen gecontroleerd testen zien in plaats van volledig autonoom testen.

De meeste softwareteams hebben eerder te weinig dan te veel tests. Door AI te gebruiken zal de omvang van het testmateriaal waarschijnlijk groeien. Hoewel het uitvoeren van geautomatiseerde tests praktisch niets kost, blijft de snelheid waarmee testresultaten beschikbaar komen belangrijk. Daarom zou het nuttig zijn om de regressietests zo te organiseren dat de tests die waarschijnlijk fouten detecteren als eerste worden uitgevoerd. Als de AI de gegevens over de levenscyclus goed genoeg begrijpt, kan deze naar codewijzigingen en eerdere testresultaten kijken, bepalen hoe de tests moeten worden geordend en zo de feedbackcyclus versnellen.

Als AI tests kan selecteren op basis van de waarschijnlijkheid dat ze fouten detecteren, zou AI ook moeten kunnen voorspellen waar de fouten waarschijnlijk worden gevonden. Een menselijke tester kan ook baat hebben bij deze informatie door handmatige verkennende tests te concentreren op die functies.

Voor veel mensen is AI een synoniem voor de mogelijkheden voor het genereren van natuurlijke taal die door ChatGPT worden gedemonstreerd. Ook bij het testen hebben deze mogelijkheden hun plaats. Als AI weet hoe een testcase moet worden gemaakt, weet deze ook hoe de uitvoering van de test in een defectrapport moet worden beschreven. Het is waarschijnlijker dat een door AI gegenereerd defectrapport gemakkelijker te begrijpen is dan een rapport dat haastig door een mens is geschreven terwijl die haast had om de volgende testcase te controleren.

Naast defectrapporten levert testen veel kwantitatieve gegevens op over de kwaliteit van de software en zelfs over het proces waarmee de software wordt gemaakt. Het probleem is dat mensen die dicht bij het testen staan en de gegevens begrijpen, niet de moeite nemen om deze uit te leggen aan degenen die ze zouden moeten begrijpen, terwijl degenen die ze zouden moeten begrijpen misschien niet willen luisteren. AI kan beide partijen en hun leidinggevenden een grote dienst bewijzen door teststatistieken om te zetten in mondelinge inzichten, conclusies en aanbevelingen. 

Zal AI QA's vervangen?

Het is verleidelijk om je af te vragen wat AI gemakkelijker kan vervangen: een tester of een ontwikkelaar. Het is gemakkelijker om een test te genereren dan om code te genereren. Aan de andere kant vereist het genereren van betekenisvolle tests meer verbeeldingskracht. Programmeren zet een vereiste immers om in code die de applicatie laat werken, terwijl testen een vereiste zou moeten omzetten in een of meer tests die de applicatie zouden moeten laten falen. 

Op grote schaal is testontwerp echter eenvoudiger dan programmeren. Het bouwen van een groot informatiesysteem is veel uitdagender dan het schrijven van code voor één functie. Het ontwerpen van tests voor een groot informatiesysteem is niet veel moeilijker dan het ontwerpen van tests voor een individuele functie. Het is alleen meer werk. Het opzetten van de test kan daarentegen veel uitdagender zijn. 

Zo is het opzetten en verifiëren van een test die een bestelling aanmaakt in een mobiele app, die vervolgens in Salesforce wordt verwerkt en daarna voor de afhandeling naar SAP doorstroomt, een zeer complexe taak—hoewel het testscenario zelf vrij eenvoudig is. We zullen zowel mensen met ondersteuning van AI als AI met ondersteuning van mensen nodig hebben.

Zelfs deze kleine voorbeelden bewijzen al dat dingen in de nabije toekomst heel anders zullen zijn. AI zal de snelheid en productiviteit van softwareontwikkeling verbeteren, maar zal nog niet in staat zijn om zelfstandig software te bouwen en de kwaliteit ervan te waarborgen.

Als ik vandaag fulltime softwaretester was, zou ik me geen zorgen maken dat AI mijn baan overneemt. Ik zou me zorgen maken over hoe ik AI kan testen.

Geïnteresseerd in meer informatie over AI en softwaretesten? Meld je dan aan voor de nieuwsbrief van de CTO Club voor de nieuwste trends.