- 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>
5.0 KiB
5.0 KiB
🧐 [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)
IdempotencyPluginTeststabilisiert (Unit-Test GRÜN)OetoValidatorsTest.ktals 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:
remember→rememberSaveableinOnboardingScreen.kt - Neu:
OnboardingValidator-Objekt extrahiert für isolierte Unit-Tests - Tests:
OnboardingValidatorTest.kt(17 Tests, alle GRÜN)
- Fix:
- 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 Lizenzwird vorgeschlagen - CSN-C-NEU ≥100cm: Pflicht-Teilung
R1/R2+wird vorgeschlagen ORGANISATORISCH: Gesamtrangliste korrekt zusammengeführtSEPARATE_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_SIEGEREHRUNGinAbteilungsTeilungsTypEergänzt - Fix: CSN-C-NEU-Logik in
AbteilungsRegelService.ktimplementiert - Tests:
AbteilungsRegelServiceTest.kt(14 neue Tests, alle GRÜN)
- CSN-C-NEU ≤95cm: Pflicht-Teilung
-
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)
IdempotencyApiIntegrationTestre-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)
- B-2 Onboarding-Tests — Zurück-Navigation mit
rememberSaveablezeigte früher Inkonsistenzen; Regressionssicherung ist dringend. - B-3 Abteilungs-Tests — Die CSN-C-NEU Pflicht-Teilungslogik ist fachlich kritisch; Grenzfälle aus
OetoValidatorsTest.ktdirekt wiederverwenden. - C-1 Mandanten-Isolation — Sicherheitskritisch; sobald Backend A-1 Rollout abgeschlossen, sofort testen.