PICKLES: a Natural Language Framework for Requirement Specification and Model-Based Testing
Dieser Beitrag stellt PICKLES vor, ein Framework für natürliche Sprache, das Behavior-Driven Development und modellbasiertes Testen verbindet, indem es menschenlesbare Szenarien in formale Modelle übersetzt, um eine automatische Testgenerierung mit einer deutlich höheren Abdeckung als beim herkömmlichen BDD zu ermöglichen.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich vor, Sie versuchen einem Roboter beizubringen, wie man ein Auto fährt. Es gibt zwei Hauptwege, dies zu tun:
- Der Weg des „strengen Ingenieurs" (Modellbasiertes Testen): Sie schreiben einen komplexen mathematischen Bauplan für jede mögliche Straße, Wetterbedingung und Ampel. Dies ist unglaublich präzise und deckt jedes Szenario ab, aber nur ein Mathematiker kann ihn lesen. Wenn Sie dem Chef zeigen wollen, was der Roboter tun wird, müssen Sie die Mathematik zurück ins Englische übersetzen, was schwierig ist und fehleranfällig.
- Der Weg des „Geschichtenerzählers" (Behavior-Driven Development): Sie schreiben eine Geschichte: „Angenommen, das Auto befindet sich auf der Straße, Wenn die Ampel auf Rot schaltet, Dann hält das Auto." Jeder versteht dies. Es ist einfach zu schreiben und zu lesen, aber es ist wie das Schreiben eines Rezepts für nur einen bestimmten Tag. Wenn Sie jede mögliche Ampelschaltung testen wollen, müssen Sie Tausende separater Geschichten schreiben, was zu einem chaotischen, unüberschaubaren Papierstapel wird.
Das Problem:
In der realen Welt wollen Unternehmen die Präzision des „strengen Ingenieurs", aber die Lesbarkeit des „Geschichtenerzählers". Normalerweise müssen sie das eine oder das andere wählen. Wählen sie die Geschichte, übersehen sie versteckte Fehler. Wählen sie die Mathematik, versteht niemand die Tests.
Die Lösung: PICKLES
Die Autoren dieses Papiers haben ein neues Framework namens PICKLES (Precise Input and Control-flow Keyword-based Language for tEst Scenarios) entwickelt. Betrachten Sie PICKLES als einen „Universalübersetzer", der die Lücke zwischen Geschichten und Mathematik schließt.
So funktioniert es, anhand einer einfachen Analogie:
1. Das „intelligente Rezept" (Die Sprache)
Anstatt eine Geschichte über ein bestimmtes Auto zu schreiben, das an einer bestimmten roten Ampel hält, erlaubt PICKLES Ihnen, ein „intelligentes Rezept" zu schreiben.
- Alter Weg: „Das Auto hält an der roten Ampel in der Hauptstraße." (Zu spezifisch).
- PICKLES-Weg: „Das Auto hält an jeder roten Ampel, vorausgesetzt, die Ampel ist rot und das Auto bewegt sich."
- Die Magie: Sie können Regeln definieren wie „Die Ampel kann jede Farbe von Rot bis Grün haben" oder „Das Auto kann jede Geschwindigkeit zwischen 0 und 100 haben". Dies nennt man Parametrisierung. Es verwandelt eine einzelne Geschichte in eine Regel, die Tausende von Möglichkeiten gleichzeitig abdeckt.
2. Der „automatische Architekt" (Die Übersetzung)
Sobald Sie diese „intelligenten Rezepte" in einfachem Englisch schreiben (unter Verwendung eines Formats, das der beliebten Gherkin-Sprache ähnelt), fungiert das PICKLES-Tool als automatischer Architekt.
- Es liest Ihre englischen Regeln.
- Es erstellt sofort ein formales Modell (eine komplexe mathematische Karte) im Hintergrund.
- Diese Karte ist so detailliert, dass sie jeden möglichen Pfad kennt, den das System einschlagen könnte, sogar Pfade, die Sie nicht explizit niedergeschrieben haben.
3. Die „Master-Karte" (Kombination von Geschichten)
Beim traditionellen Testen testen Sie Geschichte A, dann Geschichte B, dann Geschichte C, getrennt voneinander.
- Der Fehler: Geschichte A mag funktionieren, und Geschichte B mag funktionieren, aber wenn Sie A dann B ausführen, könnte das System abstürzen. Traditionelle Geschichten übersehen oft diese „Handshake"-Fehler.
- Die PICKLES-Lösung: Das Tool nimmt all Ihre separaten Geschichten und näht sie zu einer einzigen riesigen „Master-Karte" zusammen. Es ermittelt, wie Geschichte A mit Geschichte B verbunden ist und wie Geschichte B mit Geschichte C verbunden ist. Es erstellt ein vollständiges Bild davon, wie sich das System im Zeitverlauf verhält, nicht nur in isolierten Momenten.
4. Die „Rückübersetzung" (Lesbare Ergebnisse)
Dies ist der cleverste Teil. Das Tool nutzt die Master-Karte, um automatisch Hunderte spezifischer Testfälle zu generieren.
- Normalerweise würden diese Tests als verwirrender Mathematik-Code ausgegeben.
- PICKLES nimmt diese mathematischen Ergebnisse und übersetzt sie zurück in englische Geschichten.
- So erhält der Tester einen Bericht, der besagt: „Hier ist ein spezifischer Test, bei dem das Auto 80 km/h fuhr und die Ampel nach 2,5 Sekunden auf Rot schaltete. Das Auto hielt korrekt an."
- Der Mensch kann ihn lesen, verstehen und verifizieren, obwohl die schwere Arbeit vom Mathematik-Engine geleistet wurde.
Der Realwelt-Test (Das Verkehrssystem)
Die Autoren testeten dies an einem echten Verkehrsmanagementsystem eines Unternehmens namens Technolution.
- Das Setup: Sie nahmen bestehende Geschichten über Verkehrssensoren, die defekte Detektoren erkennen.
- Das Ergebnis:
- Unter Verwendung der alten „Geschichtenerzähler"-Methode (Ausführen von Geschichten einzeln) testeten sie nur etwa 30 % der möglichen Systemverhalten.
- Unter Verwendung von PICKLES (Kombinieren der Geschichten und Nutzung des Mathematik-Engine) erreichten sie eine 100%ige Abdeckung der Systemlogik.
- Sie taten dies, ohne Hunderte neuer Geschichten zu schreiben. Sie machten die ursprünglichen Geschichten einfach „klüger", indem sie Variablen hinzufügten (wie „jede Spur" oder „jede Position"), und ließen das Tool den Rest erledigen.
Warum dies wichtig ist
PICKLES ermöglicht es nicht-technischen Personen (wie Projektmanagern oder Business-Analysten), Anforderungen in einfachem Englisch zu formulieren, die eindeutig und mathematisch streng sind. Es stellt sicher, dass:
- Niemand verwirrt ist: Die Anforderungen sind für alle klar.
- Keine Fehler versteckt sind: Der Mathematik-Engine findet Randfälle, die Menschen übersehen könnten.
- Weniger Arbeit: Sie schreiben weniger Geschichten, um mehr Szenarien zu testen.
Kurz gesagt, PICKLES ist wie einem Roboter ein Bilderbuch zu geben, das intelligent genug ist, jede mögliche Variation der Geschichte zu verstehen, die darin enthaltenen mathematischen Probleme zu lösen und Ihnen dann einen klaren Bericht in einfachem Englisch zurückzuschreiben.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.