65 lines
3.8 KiB
Markdown
65 lines
3.8 KiB
Markdown
## 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 TIMER` ausgefü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
|