3.8 KiB
MODIFIED Requirements
Requirement: Korpusabdeckung der Ereignis-Traps
Der Testkorpus SHALL die Ereignissteuerung mit Programmen abdecken, die
ohne echte Wartezeit und mit reproduzierbarer Ausgabe laufen: Zeit-Trap,
Tasten-Trap einschließlich der Frage, ob die Taste im Eingabestrom
verbleibt, benutzerdefiniertes Ereignis, die drei Maskierungszustände je
Quelle, der Hauptschalter EVENT sowie Rückkehr und Nicht-Wiedereintritt
eines Handlers. Ein Korpusprogramm mit Zeitbezug SHALL seinen
Zeitverlauf im Programmkopf deklarieren; ohne Deklaration MUST der
Harness den Lauf abweisen statt auf die Systemuhr auszuweichen.
Die drei Zustände SHALL für KEY und UEVENT ebenso ausdrücklich im Korpus vorkommen wie für TIMER, einschließlich der Lesbarkeit einer unter KEY STOP gemerkten Taste.
Scenario: Zeit-Trap im Korpus
- WHEN ein Korpusprogramm mit deklariertem Zeitverlauf und
ON TIMERausgeführt wird - THEN entspricht der Bildschirminhalt byte-genau der Sollausgabe und der Lauf benötigt keine messbare Wartezeit
Scenario: Fehlende Zeitdeklaration
- WHEN ein Korpusprogramm zeitgesteuerte Traps nutzt, aber keinen Zeitverlauf deklariert
- THEN schlägt der Harness mit einer Meldung fehl, die die fehlende Deklaration nennt
Scenario: KEY STOP im Korpus
- WHEN der Korpus einen F1-Druck unter KEY STOP und ein späteres ON ausführt
- THEN prüft seine Sollausgabe sowohl die normal lesbare Taste als auch genau eine spätere Handlerausführung
Requirement: Korpusabdeckung der Formularprogramme
Der Testkorpus SHALL Formularprogramme mit byte-genauer Bildschirm-Sollausgabe führen. Ihre Ereignisfolge (Tasten, Maus, Zeit) SHALL im Programmkopf deklariert und vom Harness eingespeist werden, sodass ein Lauf ohne Terminal und ohne Wartezeit auskommt und zweimal dasselbe Ergebnis liefert. Abgedeckt SHALL sein: Fokus- und Tabreihenfolge, Access-Key, Klick über die Maus, Menüauswahl, ein Listen-Steuerelement, ein Timer und ein modaler Dialog.
Der Access-Key-Nachweis SHALL mindestens ein gewöhnliches Control betreffen und MUST NOT allein durch einen Menü-Access-Key ersetzt werden. Rückwärtstab und die beobachtbare Reihenfolge LostFocus vor GotFocus SHALL enthalten sein.
Scenario: Formularprogramm im Korpus
- WHEN ein Formular-Korpusprogramm mit deklarierter Ereignisfolge ausgeführt wird
- THEN entspricht der Bildschirminhalt byte-genau der Sollausgabe
Scenario: Wiederholbarkeit
- WHEN dasselbe Programm zweimal ausgeführt wird
- THEN ist die Ausgabe beide Male identisch
Scenario: Control-Access-Key und Rückwärtstab
- WHEN ein Formular-Korpus Alt+O für eine OK-Schaltfläche und anschließend Rückwärtstab deklariert
- THEN weist die Sollausgabe den Click und den Fokuswechsel in korrekter Reihenfolge nach
Requirement: Kompatibilitätsnachweis an Fremdprogrammen
Die Formularprogramme aus dem öffentlichen Bestand des Vorbilds SHALL sich ohne Diagnosen oder Non-Features übersetzen lassen und bedienbar sein. Jeder entdeckte fehlende Sprach-, Projekt-, Formular- oder Laufzeitpfad MUST implementiert und als Befund festgehalten werden.
Der Nachweis SHALL den verwendeten öffentlichen Bestand mit Revision und Programmeinstiegen benennen sowie reproduzierbare Eingabesequenzen und sichtbare Zustandsänderungen führen. Ein bloß erfolgreiches Starten MUST NOT als Bediennachweis gelten.
Scenario: Fremdprogramm übersetzt
- WHEN ein Formularprogramm des öffentlichen Bestands übersetzt wird
- THEN entstehen keine Diagnosen und das Programm ist bedienbar
Scenario: Bediennachweis ist wiederholbar
- WHEN ein dokumentiertes Fremdprogramm erneut mit seiner Prüfsequenz ausgeführt wird
- THEN werden dieselben relevanten Formularzustände beziehungsweise Abschlussereignisse erreicht