31 lines
1.8 KiB
Markdown
31 lines
1.8 KiB
Markdown
## MODIFIED Requirements
|
|
|
|
### Requirement: Automatischer Abgleich Inventar gegen Implementierung
|
|
Ein automatischer Test SHALL das Inventar gegen den tatsächlichen
|
|
Implementierungsstand prüfen und bei jeder Divergenz fehlschlagen. Als
|
|
`implementiert` markierte Elemente MUST im Frontend eine Signatur besitzen
|
|
und MUST NOT auf einen „nicht verfügbar"-Marker absenken; als `offen`
|
|
markierte Elemente MUST auf einen solchen Marker absenken oder ohne
|
|
Signatur sein; als `Non-Feature` markierte Elemente MUST zur Compile-Zeit
|
|
mit „Feature unavailable" abgewiesen werden. Der Test MUST das
|
|
divergierende Element, seinen Inventarstatus und den vorgefundenen
|
|
Zustand benennen.
|
|
|
|
Klassentabellen oder deklarierte Signaturnamen allein MUST NOT als Laufzeitnachweis gelten. Für implementierte Elemente SHALL ein erreichbarer Frontend-/Absenkungspfad und ein ausführbares Laufzeitziel geprüft werden. Für deklarierte Ereignisse SHALL ein Test den Auslöser bis zum BASIC-Handler führen.
|
|
|
|
#### Scenario: Inventar hinkt der Implementierung hinterher
|
|
- **WHEN** `LOCATE` implementiert wurde, im Inventar aber noch `offen` steht
|
|
- **THEN** schlägt der Abgleich fehl und nennt `LOCATE`, Status `offen` und den Befund „implementiert"
|
|
|
|
#### Scenario: Inventar behauptet zu viel
|
|
- **WHEN** ein Eintrag `implementiert` trägt, das Element aber weiterhin auf den „nicht verfügbar"-Marker absenkt
|
|
- **THEN** schlägt der Abgleich fehl und nennt das Element
|
|
|
|
#### Scenario: Abdeckungsstand ist abrufbar
|
|
- **WHEN** der Abgleich läuft
|
|
- **THEN** nennt er die Zahl der Einträge je Status als Abdeckungsstand
|
|
|
|
#### Scenario: Deklariertes Ereignis ohne Auslöser
|
|
- **WHEN** ein als implementiert geführtes Formularereignis bei seiner dokumentierten Hosteingabe keinen Handler ausführt
|
|
- **THEN** schlägt der Abgleich mit Name, Status und fehlendem Auslösepfad fehl
|