← Nieuwste papers
💻 computer science

Test-Oriented Programming: rethinking coding for the GenAI era

Dit paper introduceert Test-Oriented Programming (TOP) als een nieuw paradigma voor de GenAI-ère waarin ontwikkelaars zich richten op het controleren van door LLM's gegenereerde testcode op basis van natuurlijke taal, terwijl de productieve code volledig aan de modellen wordt overgelaten.

Oorspronkelijke auteurs: Jorge Melegati

Gepubliceerd 2026-04-10
📖 4 min leestijd☕ Koffiepauze-leesvoer

Oorspronkelijke auteurs: Jorge Melegati

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Stel je voor dat programmeren vroeger als het bouwen van een huis met de hand was. Je moest elke baksteen (elke regel code) zelf leggen, controleren of hij recht zat en hopen dat het dak niet instortte. Vandaag de dag hebben we "AI-bouwers" (zoals GitHub Copilot) die je helpen sneller te werken, maar je moet nog steeds elke baksteen inspecteren.

Jorge Melegati, een onderzoeker van de Universiteit van Porto, stelt in zijn paper voor om de bouwstijl volledig te veranderen. Hij noemt dit Test-Oriented Programming (TOP), ofwel "Programmeren gericht op testen".

Hier is hoe dat werkt, vertaald naar alledaags taalgebruik:

1. De Chef-Kok en de Kwaliteitscontroleur

In het oude systeem (en zelfs bij de huidige AI-assistenten) ben je de chef-kok én de proever. Je kookt het gerecht (schrijft de code) en proeft het om te zien of het goed is.

In het nieuwe TOP-systeem ben je alleen nog de Kwaliteitscontroleur.

  • De AI is de Chef-Kok: De AI doet het zware werk: het koken van het gerecht (het schrijven van de daadwerkelijke software).
  • Jij bent de Kwaliteitscontroleur: Jouw enige taak is om te zeggen: "Dit gerecht moet zo smaken." Je schrijft een lijstje met eisen (de tests). Bijvoorbeeld: "Als ik 'tomatensoep' vraag, moet het rood zijn en warm."

Zolang de AI niet aan die eisen voldoet, proeft het niet goed. Zodra de AI een gerecht heeft dat aan al je eisen voldoet, is het werk klaar. Jij hoeft nooit meer naar de pan te kijken, alleen naar je lijstje met eisen.

2. Het Probleem met "Taal"

Mensen praten in natuurlijke taal ("Maak een app die BibTeX-bestanden kan lezen"), maar computers zijn hier niet goed in omdat taal dubbelzinnig kan zijn. Wat bedoel je precies met "lezen"?

Melegati lost dit op door tests als vertaler te gebruiken.

  • Je zegt niet: "Maak een perfecte app."
  • Je zegt: "Schrijf een test die checkt of de app BibTeX-bestanden kan openen en of je er tekst in kunt zoeken."

De AI gebruikt deze test als een blauwdruk. Als de test slaagt, weet de AI dat het werk goed is. Als de test faalt, weet de AI dat hij het opnieuw moet proberen.

3. Het Proefproject: "Onion"

Om te bewijzen dat dit werkt, bouwde Melegati een tool genaamd Onion (zoals een ui, laag voor laag).

  • De Input: Je geeft een YAML-bestand (een soort recept) met in het Nederlands of Engels wat je wilt.
  • Het Proces: Onion praat met een AI (zoals GPT-4 of Gemini). De AI schrijft eerst de tests, en probeert dan de code te schrijven die die tests haalt.
  • Het Resultaat: Ze maakten een klein commando-programma om BibTeX-gegevens te beheren. De AI slaagde erin om de code te schrijven zonder dat de mens ooit direct in de code hoefde te duiken. De mens keek alleen naar de tests.

4. De Struikelblokken (De "Gevaren" in de Keuken)

Hoewel het idee geweldig klinkt, zijn er nog een paar uitdagingen, net als bij het introduceren van een nieuwe manier van koken:

  • Te veel proefjes: Soms schrijft de AI zo veel tests dat het voor de mens te veel werk is om ze allemaal te controleren. Het is alsof de chef-kok 100 kleine proefporties maakt in plaats van één groot gerecht.
  • De "Gokker": AI is niet altijd 100% betrouwbaar. Als je dezelfde opdracht twee keer geeft, krijg je soms twee verschillende resultaten. Soms werkt het perfect, soms niet.
  • Verschillende stijlen: De ene AI (GPT-4) schrijft korte, strakke code. De andere (Gemini) schrijft lange, gedetailleerde code met veel uitleg. Het is lastig om te weten welke "stijl" je wilt als je van model wisselt.

Conclusie

Dit paper stelt voor dat we in de toekomst niet meer hoeven te focussen op hoe we code schrijven, maar alleen op wat de code moet doen. We geven de AI de opdracht en de testregels, en de AI doet de rest.

Het is een verschuiving van "Ik bouw het huis" naar "Ik geef de architect de blauwdruk en controleer of het huis voldoet aan de veiligheidsnormen". Het is een stap hogerop in de ladder van automatisering, waar de mens de regisseur blijft, maar de acteurs (de AI) het zware werk doen.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →