PICKLES: a Natural Language Framework for Requirement Specification and Model-Based Testing
Dit artikel introduceert PICKLES, een framework voor natuurlijke taal dat Behaviour-Driven Development en Model-Based Testing met elkaar verbindt door menselijk leesbare scenario's te vertalen naar formele modellen om automatische testgeneratie mogelijk te maken met aanzienlijk hogere dekking dan standaard BDD.
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 je een robot probeert te leren autorijden. Je hebt twee hoofdmanieren om dit te doen:
- De "Strakke Ingenieur"-manier (Modelgebaseerd testen): Je schrijft een complexe wiskundige blauwdruk van elke mogelijke weg, weersomstandigheid en verkeerslicht. Het is ongelooflijk precies en dekt elk scenario, maar alleen een wiskundige kan het lezen. Als je de baas wilt laten zien wat de robot zal doen, moet je de wiskunde terugvertalen naar Engels, wat moeilijk is en gevoelig voor fouten.
- De "Verhaler"-manier (Gedragsgestuurd ontwikkelen): Je schrijft een verhaal: "Gegeven dat de auto op de weg is, Wanneer het licht rood wordt, Dan stopt de auto." Iedereen begrijpt dit. Het is makkelijk te schrijven en te lezen, maar het is alsof je een recept schrijft voor slechts één specifieke dag. Als je elke mogelijke verkeerslichttiming wilt testen, moet je duizenden aparte verhalen schrijven, wat een rommelige, onbeheersbare stapel papier wordt.
Het Probleem:
In de echte wereld willen bedrijven de precisie van de "Strakke Ingenieur" maar de leesbaarheid van de "Verhaler". Meestal moeten ze kiezen voor het een of het ander. Als ze kiezen voor het verhaal, missen ze verborgen bugs. Als ze kiezen voor de wiskunde, begrijpt niemand de tests.
De Oplossing: PICKLES
De auteurs van dit paper hebben een nieuw raamwerk ontwikkeld genaamd PICKLES (Precise Input and Control-flow Keyword-based Language for tEst Scenarios). Denk aan PICKLES als een "Universele Vertaler" die de kloof overbrugt tussen verhalen en wiskunde.
Hier is hoe het werkt, met een eenvoudige analogie:
1. Het "Slimme Recept" (De Taal)
In plaats van een verhaal te schrijven over één specifieke auto die stopt bij één specifiek rood licht, laat PICKLES je een "Slim Recept" schrijven.
- Oude manier: "De auto stopt bij het rode licht op de Hoofdstraat." (Te specifiek).
- PICKLES-methode: "De auto stopt bij elk rood licht, mits het licht rood is en de auto beweegt."
- De Magie: Je kunt regels definiëren zoals "Het licht kan elke kleur hebben van Rood tot Groen" of "De auto kan elke snelheid hebben tussen 0 en 100". Dit heet parametrizatie. Het verandert een enkel verhaal in een regel die duizenden mogelijkheden tegelijk dekt.
2. De "Automatische Architect" (De Vertaling)
Zodra je deze "Slimme Recepten" in gewoon Engels schrijft (met een formaat vergelijkbaar met de populaire Gherkin-taal), fungeert het PICKLES-tool als een Automatische Architect.
- Het leest je Engelse regels.
- Het bouwt direct een Formeel Model (een complexe wiskundige kaart) op op de achtergrond.
- Deze kaart is zo gedetailleerd dat het elke mogelijke route kent die het systeem kan nemen, zelfs routes die je niet expliciet hebt opgeschreven.
3. De "Meesterkaart" (Verhalen combineren)
Bij traditioneel testen test je Verhaal A, dan Verhaal B, dan Verhaal C, apart.
- De Fout: Verhaal A werkt misschien, en Verhaal B werkt misschien, maar als je A dan B doet, kan het systeem crashen. Traditionele verhalen missen vaak deze "handdruk"-fouten.
- De PICKLES-oplossing: Het tool neemt al je aparte verhalen en naait ze samen tot één grote "Meesterkaart". Het berekent hoe Verhaal A verbonden is met Verhaal B, en hoe Verhaal B verbonden is met Verhaal C. Het creëert een compleet beeld van hoe het systeem zich gedraagt in de tijd, niet alleen in geïsoleerde momenten.
4. De "Terugvertaling" (Leesbare resultaten)
Dit is het slimste deel. Het tool gebruikt de Meesterkaart om automatisch honderden specifieke testcases te genereren.
- Normaal gesproken zouden deze tests eruitzien als verwarrende wiskundige code.
- PICKLES neemt die wiskundige resultaten en vertaalt ze terug naar Engelse verhalen.
- Dus, de tester krijgt een rapport dat zegt: "Hier is een specifieke test waarbij de auto 80 km/u reed en het licht na 2,5 seconden rood werd. De auto stopte correct."
- De mens kan het lezen, begrijpen en verifiëren, zelfs al is het zware werk gedaan door de wiskundemotor.
De Echte Wereldtest (Het Verkeerssysteem)
De auteurs testten dit op een echt verkeersbeheersysteem dat wordt gebruikt door een bedrijf genaamd Technolution.
- De Opstelling: Ze namen bestaande verhalen over verkeerssensoren die defecte detectoren opsporen.
- Het Resultaat:
- Met de oude "Verhaler"-methode (verhalen één voor één draaien), testten ze slechts ongeveer 30% van de mogelijke systeemgedragingen.
- Met PICKLES (de verhalen combineren en de wiskundemotor gebruiken), bereikten ze 100% dekking van de systeemlogica.
- Ze deden dit zonder honderden nieuwe verhalen te schrijven. Ze maakten de originele verhalen gewoon "slimmer" door variabelen toe te voegen (zoals "elke rijbaan" of "elke positie") en lieten het tool de rest doen.
Waarom Dit Belangrijk Is
PICKLES stelt niet-technische mensen (zoals projectmanagers of businessanalisten) in staat om eisen in gewoon Engels te schrijven die eenduidig en wiskundig strikt zijn. Het zorgt ervoor dat:
- Niemand in de war is: De eisen zijn voor iedereen duidelijk.
- Geen bugs verborgen zijn: De wiskundemotor vindt randgevallen die mensen misschien missen.
- Minder werk: Je schrijft minder verhalen om meer scenario's te testen.
Kortom, PICKLES is alsof je een robot een verhalenboek geeft dat slim genoeg is om elke mogelijke variatie van het verhaal te begrijpen, de wiskundeproblemen erin op te lossen, en vervolgens een duidelijk rapport terug te schrijven naar jou in gewoon Engels.
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.