meldestelle/docs/04_Agents/Roadmaps/QA_Roadmap.md
Stefan Mogeritsch ed3d327c82 docs(curator): log session outcomes and finalize B-1 roadmap updates
- Logged session in `2026-04-03_Curator_B1_Roadmaps-Verzeichnis.md`, summarizing all roadmap reviews and corrections.
- Updated `Curator_Roadmap.md`: marked Sprint B-1 as complete, adjusted dependencies, and refined upcoming priorities.
- Corrected `QA_Roadmap.md` Sprint-B header to reflect partial completion (`🔴🟡`).
- Added detailed revisions for QA, backlog, and dependency management in all roadmaps.

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

5.0 KiB
Raw Blame History

🧐 [QA Specialist] — Zwischenstand & Roadmap

Stand: 3. April 2026 Rolle: Test-Strategie, Edge-Cases, Integrationstests, Regressionssicherung


Erledigte Sprints

Sprint A — Abgeschlossen

  • A-1 | Test-Strategie für Desktop-App definiert
    • Testpyramide für Compose Desktop festgelegt (Unit / Integration / UI-Tests)
    • Tooling entschieden: kotlin.test, Compose UI Test, Mockk
    • Test-Konventionen dokumentiert (Namensschema, Ordnerstruktur, Arrange-Act-Assert)
    • IdempotencyPluginTest stabilisiert (Unit-Test GRÜN)
    • OetoValidatorsTest.kt als Basis für Grenzfall-Abdeckung etabliert

🟡 Sprint B — Teilweise offen

  • 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 3. April 2026

    • 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)
      • Fix: rememberrememberSaveable in OnboardingScreen.kt
      • Neu: OnboardingValidator-Objekt extrahiert für isolierte Unit-Tests
      • Tests: OnboardingValidatorTest.kt (17 Tests, alle GRÜN)
    • Ungültige OEPS-Nummer → Fehlermeldung sichtbar, Submit gesperrt (offen: abhängig von C-3)
  • B-3 | Test-Suite: Abteilungs-Logik 3. April 2026

    • 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
    • Caprilli-Regression abgesichert (LIZENZFREI → Abt. 1, R1 → Abt. 2)
    • Grenzfälle 90 cm und 110 cm abgedeckt
    • Neu: ORGANISATORISCH + SEPARATE_SIEGEREHRUNG in AbteilungsTeilungsTypE ergänzt
    • Fix: CSN-C-NEU-Logik in AbteilungsRegelService.kt implementiert
    • Tests: AbteilungsRegelServiceTest.kt (14 neue Tests, alle GRÜN)
  • 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.