Geverifieerd Testen · 3 min lezen

Groen is nog niet klaar

Een AI-agent schreef de code en alle 249 tests slaagden. Toch zei een kwaliteitscontrole nee, en terecht.

Een verkeerslicht dat groen geeft tegen een avondlucht.

Foto: Tord Romundstad op Unsplash

Elke tester kent het moment. De pipeline wordt groen, iemand zegt “klaar”, en je voelt een kleine vraag die nog niemand heeft gesteld.

In september voelde ik die vraag op een plek waar ik hem niet verwachtte: in een AI-tool die me niet verder liet gaan.

De workshop

Bij Sopra Steria probeerden we in een hands-on workshop een interne AI-driven development tool uit. Het idee is eenvoudig uit te leggen: de AI schrijft niet vrij code, maar doorloopt vaste stappen, en bij elke stap controleert een mens het resultaat en beslist.

Een gedeelde tafel van bovenaf, met laptops, notitieboeken en kopjes thee.

Foto: Marvin Meyer op Unsplash

We werkten in een klein team met verschillende rollen en bakenden samen één kleine feature af. Op de dag zelf kwamen we tot de specificatie. Ik was benieuwd hoe het zich zou houden tot aan een commit, dus maakte ik de rest thuis af.

Groen, en toch niet klaar

De AI schreef de code voor de eerste taak. Ik draaide de tests zelf: 249 tests, allemaal groen, net als voor de wijziging.

Code op een scherm, van dichtbij, met kleurige syntax highlighting.

Foto: Chris Ried op Unsplash

De meeste tools stoppen hier en melden succes. Eerlijk gezegd doen veel teams dat ook.

Deze niet. Hij zag dat de nieuwe code een datacontract toevoegde, en dat geen van de 249 tests dat controleerde. De testset was groen omdat niets erin keek. Voordat ik verder mocht, vroeg hij om 11 nieuwe contracttests.

Niets hiervan is nieuw voor testers. Een groene testset zegt alleen dat de controles die we schreven niet faalden, en contracttests bestaan precies voor dit gat. Wat mij verraste, was dat een tool die lijn vasthield op het moment dat iemand met haast zou zeggen: “zet het maar live”.

Een kleiner moment

Eén gegenereerde test zette de database terug om schoon te beginnen. Op mijn machine zou dat de gegevens wissen waarmee ik werkte. De tool blokkeerde de commit tot de test in een tijdelijke omgeving draaide.

Niets slims, gewoon een saaie controle op de juiste plek. Als tester zijn dat de controles die ik het meest waardeer.

Het deel dat menselijk blijft

Het zou makkelijk zijn om te zeggen: “de AI ving op wat mensen missen”. Maar dat is niet helemaal wat ik zag.

Het belangrijkste moment van de dag was helemaal geen controle. In het verzoek stonden eisen die niet tegelijk waar konden zijn, en de AI was klaar om toch door te gaan. We hielden hem tegen, maakten zelf de keuze en schreven op wie besliste en waarom.

De tool kon zien dat een contract geen tests had. Hij kon niet beslissen welke bedrijfsregel moest winnen. Daarvoor is nog steeds een mens nodig die echt leest wat de AI maakte.

Wat ik eruit meeneem

Het was niet altijd prettig. Elke stap is verplicht, er is veel te lezen en in het begin voelt het traag. Maar ik werk liever langzamer met een duidelijk spoor dan snel met een groen licht dat ik niet kan uitleggen.

Dus, drie kleine gewoontes:

  • Zie “alle tests slagen” als een vraag. Welke tests, die wat controleren, bij welke wijziging?
  • Zet de saaie controles in het proces, niet op een checklist die iemand kan overslaan.
  • Laat de AI voorstellen en laat mensen beslissen, en schrijf op wie besliste.

In mijn vrije tijd bouw ik iets vergelijkbaars op veel kleinere schaal: devran-ai/kit, een open-source kit die kwaliteitscontroles toevoegt aan AI-codeertools. Dezelfde ideeën op bedrijfsschaal zien, liet me zien hoeveel verder ze kunnen gaan.

Dit was de eerste keer dat een AI-tool me een groen resultaat iets minder deed vertrouwen, en dat voelde als vooruitgang.

Een fout gevonden?

Meld het zoals je dat in een sprint zou doen. Correcties worden hier bijgehouden.

Meld een bug

Correcties

Nog geen.

Geschreven door Emre Dursun

QA-consultant voor Pega en Tricentis Tosca in Nederland. Ik schrijf hier om helderder over mijn werk na te denken.

Meer over mij

Lees verder

Bezig met een teststrategie voor een Pega- of Tosca-project?

Laten we notities vergelijken.

Zeg hallo