meldestelle/docs/04_Agents/Roadmaps/QA_Roadmap.md
Stefan Mogeritsch 236876a043 docs: restructure and streamline sprint execution order
- Consolidated and removed redundant steps in `SPRINT_EXECUTION_ORDER.md`.
- Simplified descriptions and roadmap formatting for improved clarity.
- Updated progress and dependencies to align with Phase 8 objectives.
- Adjusted role-specific roadmaps to reflect the latest sprint updates.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-04-03 09:43:11 +02:00

95 lines
4.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.

# 🧐 [QA Specialist] — Zwischenstand & Roadmap
> **Stand:** 3. April 2026
> **Rolle:** Test-Strategie, Edge-Cases, Integrationstests, Regressionssicherung
---
## ✅ Erledigte Sprints
### Sprint A — Abgeschlossen
- [x] **A-1** | Test-Strategie für Desktop-App definiert
- [x] Testpyramide für Compose Desktop festgelegt (Unit / Integration / UI-Tests)
- [x] Tooling entschieden: `kotlin.test`, Compose UI Test, Mockk
- [x] Test-Konventionen dokumentiert (Namensschema, Ordnerstruktur, Arrange-Act-Assert)
- [x] `IdempotencyPluginTest` stabilisiert (Unit-Test GRÜN)
- [x] `OetoValidatorsTest.kt` als Basis für Grenzfall-Abdeckung etabliert
---
## 🔴 Sprint B — Offen (höchste Priorität)
- [ ] **B-1** | Test-Suite: Navigation & Back-Stack (V2/V3)
- [ ] Navigations-Flows für alle Screens (vorwärts + zurück)
- [ ] Back-Stack-Verhalten nach Zurück-Navigation (korrekter Zustand)
- [ ] SingleTop-Tabs: kein doppelter Stack-Eintrag bei Tab-Wechsel
- [ ] Logout poppt MainShell komplett (keine Screens im Back-Stack)
- [ ] **B-2** | Test-Suite: Onboarding-Wizard Edge-Cases
- [ ] Leere Pflichtfelder → Speichern-Button bleibt deaktiviert
- [ ] Schnelles Doppelklick auf „Weiter" / „Speichern" → kein doppelter Submit
- [ ] Abbrechen mitten im Wizard → kein inkonsistenter Zustand
- [ ] Zurück-Navigation: Gerätename und Sicherheitsschlüssel bleiben erhalten (`rememberSaveable`)
- [ ] Ungültige OEPS-Nummer → Fehlermeldung sichtbar, Submit gesperrt
- [ ] **B-3** | Test-Suite: Abteilungs-Logik
- [ ] CSN-C-NEU ≤95cm: Pflicht-Teilung `ohne Lizenz` / `mit Lizenz` wird vorgeschlagen
- [ ] CSN-C-NEU ≥100cm: Pflicht-Teilung `R1` / `R2+` wird vorgeschlagen
- [ ] `ORGANISATORISCH`: Gesamtrangliste korrekt zusammengeführt
- [ ] `SEPARATE_SIEGEREHRUNG`: Abteilungen werden nicht zusammengeführt
- [ ] Basis: `OetoValidatorsTest.kt`-Grenzfälle aus Rulebook B-1
- [ ] **B-4** | Test-Suite: ViewModel-Verhalten
- [ ] State-Initialisierung korrekt (Loading-State beim Start)
- [ ] Intent → State-Transition für alle Sealed-Class-Intents
- [ ] Fehler-State bei simuliertem Backend-Fehler korrekt gesetzt
- [ ] Loading-State während asynchroner Operationen (nicht flackern)
---
## 🟠 Sprint C — Priorität 2 (nächste Woche)
- [ ] **C-1** | Test-Suite: Mandanten-Isolation (nach Backend A-1)
- [ ] Veranstaltung A kann keine Daten von Veranstaltung B lesen
- [ ] Veranstaltung A kann keine Daten in Veranstaltung B schreiben
- [ ] Kassa-Zugriff nur innerhalb derselben Veranstaltung möglich
- [ ] Basis: Backend E2E-Isolationstest re-enablen (aktuell `@Disabled`)
- [ ] **C-2** | Test-Suite: Kassa und Zahlvorgang
- [ ] Teilnehmer an 2 Turnieren → 1 Zahlvorgang → 2 korrekte separate Rechnungen
- [ ] Saldo-Berechnung korrekt (Summe aus beiden Turnier-Kassas)
- [ ] Bereits bezahlte Beträge werden nicht doppelt verrechnet
- [ ] **C-3** | Test-Suite: ÖTO-Validierung (nach Rulebook C-1)
- [ ] OEPS-Nummer: Gültige und ungültige Formate testen
- [ ] FEI-ID: Gültige und ungültige Formate testen
- [ ] Lizenzklasse × Bewerbs-Klasse: Alle erlaubten und verbotenen Kombinationen
- [ ] Altersklasse Pferd × Bewerb: Grenzfälle (genau im Grenzjahr, Stichtag)
- [ ] **C-4** | Regressions-Test-Suite & CI-Integration
- [ ] Kritische User-Flows als automatisierte Tests abdecken
- [ ] Tests in CI/CD-Pipeline integrieren (gemeinsam mit 🐧 DevOps)
- [ ] `IdempotencyApiIntegrationTest` re-enablen (Port-Binding/Server-Lifecycle-Fix)
---
## 📌 Abhängigkeiten
| Warte auf | Von wem | Betrifft |
|------------------------------------|---------------|-----------------------------|
| Backend A-1 Rollout + E2E-Test-Fix | 👷 Backend | C-1 Isolations-Tests |
| Rulebook C-1 AltersklasseRechner | 📜 Rulebook | C-3 Validierungs-Tests |
| Backend B-2 Kassa-Service | 👷 Backend | C-2 Kassa-Tests |
| DevOps CI/CD Pipeline | 🐧 DevOps C-1 | C-4 Regressions-Integration |
---
## 💡 Empfehlungen (nach Priorität)
1. **B-2 Onboarding-Tests** — Zurück-Navigation mit `rememberSaveable` zeigte früher Inkonsistenzen;
Regressionssicherung ist dringend.
2. **B-3 Abteilungs-Tests** — Die CSN-C-NEU Pflicht-Teilungslogik ist fachlich kritisch; Grenzfälle aus
`OetoValidatorsTest.kt` direkt wiederverwenden.
3. **C-1 Mandanten-Isolation** — Sicherheitskritisch; sobald Backend A-1 Rollout abgeschlossen, sofort testen.