Files
MABEA/ergebnisse/22_testkonzept.md
T

98 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Prompt 22 Testfälle
Bezug: alle Ergebnisse 01-21. Letzter Prompt der Technikphase (19-22).
Format je Testfall: Ausgangssituation → Aktion → erwartetes Ergebnis → Fehlerfall (falls zutreffend).
## 1. Vollständige Kontrolle (Normalfall)
- **Ausgang:** Objekt „Rucksack Handball 17", alle Positionen Soll=Ist im Bestand.
- **Aktion:** Mitarbeiter startet Kontrolle, bestätigt jede Position „passt", schließt ab.
- **Erwartet:** Kontrolle Status „abgeschlossen", keine Fehlbestände erzeugt, Kontrollnachweis mit allen Positionen gespeichert (Prompt 16).
- **Fehlerfall:** Abschluss-Versuch mit unbestätigten Positionen → 409, Liste fehlender Positionen (Prompt 21).
## 2. Fehlbestand entsteht (keine Nachfüllung möglich)
- **Ausgang:** Soll 10, Ist im Lager tatsächlich 8.
- **Aktion:** Mitarbeiter trägt Ist=8 ein, wählt „nicht verfügbar".
- **Erwartet:** Fehlbestand-Vorgang Status „offen", Fehlmenge=2, `entstanden_am` gesetzt, Kontrolle kann trotzdem abgeschlossen werden (Prompt 03/16).
## 3. Nachfüllung während der Kontrolle (Sofort-Nachfüllung)
- **Ausgang:** Wie Test 2, aber Ersatz im Lager vorhanden.
- **Aktion:** Mitarbeiter wählt „ja, sofort nachgefüllt".
- **Erwartet:** Fehlbestand entsteht UND wird im selben Moment auf „erledigt" gesetzt, zwei Historieneinträge mit Zeitstempel (Karte 07, Prompt 02).
## 4. Nachfüllung nach der Kontrolle
- **Ausgang:** Offener Fehlbestand aus vorheriger, bereits abgeschlossener Kontrolle.
- **Aktion:** Verantwortlicher/Mitarbeiter erfasst Nachfüllung außerhalb einer laufenden Kontrolle, Menge = volle Fehlmenge.
- **Erwartet:** Fehlbestand Status „erledigt", `erledigt_am` gesetzt, Ist-Menge im Objekt aktualisiert (Prompt 02/03).
## 5. Teilnachfüllung
- **Ausgang:** Fehlmenge 5.
- **Aktion:** Nachfüllung von 2 erfasst.
- **Erwartet:** Fehlbestand bleibt „offen" (bzw. „nachgefuellt_teilweise"), Fehlmenge neu 3, Historieneintrag zeigt Teilschritt (Prompt 03).
## 6. Nicht vorhandenes Lagergut (Sonderfall)
- **Ausgang:** Fehlbestand offen, keine Verfügbarkeit im Lager absehbar.
- **Aktion:** Kein Eingriff über längeren Zeitraum.
- **Erwartet:** Fehlbestand bleibt „offen", zählt in Dashboard-Alter-Filter, kein automatischer Statuswechsel ohne echte Nachfüllung/Genehmigung (Prompt 03/12).
## 7. Genehmigte Mindermenge
- **Ausgang:** Offener Fehlbestand, Soll 10, Ist 8.
- **Aktion:** Materialverantwortlicher genehmigt mit Begründung.
- **Erwartet:** Status-Vermerk „Mindermenge genehmigt", Ist-Menge bleibt 8, Fehlbestand bleibt fachlich offen, zählt weiterhin als offen in Kennzahlen (Prompt 04/12).
- **Fehlerfall:** Mitarbeiter versucht Genehmigung → 403 (Prompt 05/21). Genehmigung ohne Begründung → 422.
## 8. Ablauf einer Ausnahme
- **Ausgang:** Aktive Mindermengen-Genehmigung aus Test 7.
- **Aktion:** Nächste Kontrolle desselben Objekts wird gestartet, Abweichung besteht weiterhin.
- **Erwartet:** Genehmigung automatisch Status „abgelaufen", Position erneut regulär als offene Abweichung bewertet, neue Genehmigung nötig falls gewünscht (Prompt 04, Karte 08).
## 9. Ablauf einer Ausnahme, Abweichung ist bei nächster Kontrolle behoben
- **Ausgang:** Wie Test 8, aber zwischenzeitlich vollständig nachgefüllt.
- **Aktion:** Nächste Kontrolle bestätigt Ist=Soll.
- **Erwartet:** Fehlbestand UND Genehmigung gemeinsam auf „erledigt"/„beendet_durch_erledigung" (Prompt 04, Punkt 4).
## 10. Ablaufdatum
- **Ausgang:** Material mit Ablaufdatum in 5 Tagen, Warnzeitraum 30 Tage.
- **Aktion:** Kontrolle öffnet Position.
- **Erwartet:** Status „bald ablaufend" angezeigt, auch wenn Menge korrekt (Prompt 14). Nach Austausch: neues Ablaufdatum erfasst, keine Fehlbestand-Erzeugung, sofern Ersatz vorhanden.
- **Fehlerfall:** kein Ersatz vorhanden → normale Abweichung/Fehlbestand (Prompt 14, Punkt 4).
## 11. Duplizieren eines Rucksacks
- **Ausgang:** Bestehendes Objekt mit Ist-Bestand, offenen Fehlbeständen, Historie.
- **Aktion:** Administration dupliziert mit neuem Namen/Code/Standort.
- **Erwartet:** Neues Objekt mit identischer Struktur/Sollmengen, Ist-Menge=0/„nicht kontrolliert", keine offenen Fehlbestände, keine Historie übernommen, neuer eindeutiger Code (Prompt 09).
- **Fehlerfall:** Code-Kollision → 409 (Prompt 21).
## 12. Individuelle Abweichung von Vorlage
- **Ausgang:** Vorlage definiert 10 BZ-Messtreifen.
- **Aktion:** Materialverantwortlicher setzt Override auf 15 für ein Objekt.
- **Erwartet:** Objektposition zeigt Sollmenge effektiv=15, Vorlage selbst unverändert, andere Objekte auf derselben Vorlage bleiben bei 10 (Prompt 10).
## 13. Änderung einer Vorlage (mit individuell abweichenden Objekten)
- **Ausgang:** Vorlage wird geändert (neue Version, Sollmenge einer Position erhöht), ein Objekt hat für diese Position bereits einen Override.
- **Aktion:** Vorlagenänderung gespeichert.
- **Erwartet:** Objekte OHNE Override übernehmen neuen Wert automatisch (dynamische Referenz), Objekt MIT Override bleibt unverändert, bis Override manuell aufgehoben wird (Prompt 08/10).
## 14. Rollenrechte (Berechtigungsmatrix)
- **Ausgang:** Vier Rollen aus Prompt 05.
- **Aktion:** Jede Rolle versucht jede kritische Aktion (Genehmigen, Sollmenge ändern, Zuständigkeit zuordnen, Benutzer verwalten).
- **Erwartet:** Nur laut Matrix erlaubte Aktionen gelingen (200er), alle anderen 403 (Prompt 05/21).
## 15. Historie/Nachvollziehbarkeit (Beispiel-Kette)
- **Ausgang:** Wie Prompt 13, Beispiel-Kette (Soll 10, Ist 8 → Fehlbestand → Genehmigung → Nachfüllung → erledigt).
- **Aktion:** Vollständige Kette durchlaufen.
- **Erwartet:** Jeder Schritt als eigener, chronologisch korrekter Historieneintrag mit korrektem wer/wann/alt/neu, alle auf denselben Fehlbestand referenziert (Prompt 13).
## 16. Kurzzeit-Netzausfall während Kontrolle
- **Ausgang:** Kontrolle „in Bearbeitung", Verbindung bricht nach Eingabe einer Position ab.
- **Aktion:** Eingabe wird clientseitig gepuffert, Verbindung kommt zurück.
- **Erwartet:** Position wird automatisch nachträglich übertragen (idempotenter PUT, Prompt 21), keine doppelte Erfassung, keine Datenverlust-Anzeige mehr nach erfolgreicher Übertragung (Prompt 17).
## 17. Abgebrochene Kontrolle
- **Ausgang:** Kontrolle „in Bearbeitung", einige Positionen erfasst.
- **Aktion:** Mitarbeiter bricht ab (z. B. Einsatzalarmierung).
- **Erwartet:** Kontrolle Status „abgebrochen", KEINE Ist-Werte auf Objekt übernommen, kein Fehlbestand ausgelöst, Objekt bleibt „nicht kontrolliert seit vorherigem Datum" (Prompt 16).
## Referenzen
Bezug: Ergebnisse 01-21