# 🧐 [QA Specialist] — Schritt-für-Schritt Roadmap > **Stand:** 2. April 2026 > **Rolle:** Test-Strategie, Edge-Cases, Regressions-Tests, Qualitätssicherung --- ## 🔴 Sprint A — Sofort (diese Woche) - [x] **A-1** | Test-Strategie für Desktop-App definieren — siehe „QA Test-Strategie — Compose Desktop App“ - [x] Testpyramide für Compose Desktop festlegen (Unit / Integration / UI-Tests) - [x] Tooling entscheiden: `kotlin.test`, Compose UI Test, Mockk - [x] Test-Konventionen dokumentieren (Namensschema, Ordnerstruktur, Arrange-Act-Assert) - [x] Dokument in `docs/06_Frontend/` oder `docs/07_Infrastructure/` ablegen - 📄 Dokument: [`docs/06_Frontend/Teststrategie_Desktop.md`](../../06_Frontend/Teststrategie_Desktop.md) --- ## 🟠 Sprint B — Kurzfristig (nächste Woche) - [ ] **B-1** | Test-Suite: V2-Navigation und Back-Stack - [ ] Navigations-Flows für alle V2-Screens abdecken (vorwärts + zurück) - [ ] Back-Stack-Verhalten testen (korrekter Zustand nach Zurück-Navigation) - [ ] Deep-Link / direkter Screen-Aufruf testen (falls implementiert) - [ ] **B-2** | Test-Suite: Onboarding-Wizard Edge-Cases - [ ] Leere Pflichtfelder → Button bleibt deaktiviert - [ ] Schnelles wiederholtes Klicken auf „Weiter" / „Speichern" → kein doppelter Submit - [ ] Abbrechen mitten im Wizard → kein inkonsistenter Zustand - [ ] Ungültige Eingaben (z.B. falsches OEPS-Nummern-Format) → Fehlermeldung sichtbar - [ ] **B-3** | Test-Suite: Abteilungs-Logik - [ ] CSN-C-NEU Bewerb ≤95cm: Pflicht-Teilung `ohne Lizenz` / `mit Lizenz` wird erzwungen - [ ] CSN-C-NEU Bewerb ≥100cm: Pflicht-Teilung `R1` / `R2+` wird erzwungen - [ ] Organisatorische Abteilung: Gesamtrangliste wird korrekt zusammengeführt - [ ] Separate Siegerehrung: Abteilungen werden nicht zusammengeführt - [ ] **B-4** | Test-Suite: ViewModel-Verhalten (nach Frontend Sprint A) - [ ] State-Initialisierung korrekt - [ ] Intent → State-Transition für alle definierten Intents - [ ] Fehler-State bei Backend-Fehler korrekt gesetzt - [ ] Loading-State während asynchroner Operationen --- ## 🟡 Sprint C — Mittelfristig (in 2 Wochen) - [ ] **C-1** | Test-Suite: Mandanten-Isolation - [ ] Veranstaltung A kann keine Daten von Veranstaltung B lesen - [ ] Veranstaltung A kann keine Daten in Veranstaltung B schreiben - [ ] Turnier-übergreifender Kassa-Zugriff nur innerhalb derselben Veranstaltung möglich - [ ] **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 Sprint A-5) - [ ] 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) - [ ] **C-4** | Regressions-Test-Suite aufbauen - [ ] Kritische User-Flows als automatisierte Tests abdecken - [ ] Tests in CI/CD-Pipeline integrieren (gemeinsam mit 🐧 DevOps) --- ## ⏸️ Zurückgestellt > ⏸️ **USB-Stick Fallback Tests** — Separate Besprechung zu einem späteren Zeitpunkt > ⏸️ **Nennungs-Workflow End-to-End Test (Web → Backend → Desktop)** — Nach Web-App Besprechung --- ## 📌 Abhängigkeiten | Warte auf | Von wem | |------------------------------------|--------------------| | ViewModel-Referenz-Implementierung | 🎨 Frontend | | Validierungs-Spezifikation | 📜 Rulebook Expert | | CI/CD Pipeline (headless) | 🐧 DevOps | | Testdaten-Seeder | 👷 Backend | | Meine Aufgabe | Ermöglicht wem | |----------------------|-------------------------------------------------| | Test-Strategie (A-1) | 🐧 DevOps: korrekte Pipeline-Konfiguration | | Alle Test-Suites | Alle: Vertrauen in Codequalität und Korrektheit |