From d16bd388b17af88608cf5e22076ddd29090fb9d8 Mon Sep 17 00:00:00 2001 From: Agent Zero Date: Fri, 21 Aug 2026 21:33:21 +0200 Subject: [PATCH] docs: Test-Plan erweitert auf 42 Kategorien (Edge Cases, Concurrency, Error Handling, File Upload, Session, Data Consistency, Accessibility, API Docs, Infrastructure, Monitoring, Deployment) --- docs/test-plan-complete.md | 91 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) diff --git a/docs/test-plan-complete.md b/docs/test-plan-complete.md index f7fe84a..dcaddd7 100644 --- a/docs/test-plan-complete.md +++ b/docs/test-plan-complete.md @@ -795,6 +795,97 @@ --- +## 32. Edge Cases & Boundary Tests +- [ ] Leere Datenbank (0 Einträge) → alle Listen zeigen EmptyState +- [ ] Sehr viele Daten (10.000+ Contacts) → Pagination funktioniert, Performance OK +- [ ] Unicode/Sonderzeichen in allen Textfeldern (Emojis, Umlaute, Chinesisch, Arabisch) +- [ ] Sehr lange Strings (10.000 Zeichen Name) +- [ ] Null/Empty Werte in Pflichtfeldern +- [ ] Negative Zahlen in positiven Feldern +- [ ] Datumsrandfälle: 29.02.2024 (Schaltjahr), 31.12.9999, 01.01.0001 +- [ ] Zeitzone-Wechsel (UTC vs CEST) + +## 33. Concurrency & Race Conditions +- [ ] Zwei User erstellen gleichzeitig einen Contact mit gleicher E-Mail +- [ ] User A löscht Contact während User B ihn bearbeitet +- [ ] Gleichzeitige IMAP Sync auf gleichem Account +- [ ] Gleichzeitige Workflow-Ausführung +- [ ] Optimistic Locking Tests + +## 34. API Error Handling +- [ ] Invalid JSON Body → 422 +- [ ] Sehr große Request Body (> 10MB) → 413 +- [ ] Fehlende Content-Type Header → 422 +- [ ] Falsche HTTP Method (GET statt POST) → 405 +- [ ] Nicht existierende Endpoint-Pfade → 404 +- [ ] Rate Limit überschritten → 429 + +## 35. File Upload Tests +- [ ] Upload 0 Byte Datei +- [ ] Upload 100MB Datei +- [ ] Upload ausführbare Datei (.exe, .sh, .php) +- [ ] Upload Datei mit doppelten Extension (.pdf.exe) +- [ ] Upload ohne Dateiname +- [ ] Upload mit Sonderzeichen im Dateinamen +- [ ] Upload mehrere Dateien gleichzeitig +- [ ] Upload Abbruch (Network Error) + +## 36. Session & Auth Edge Cases +- [ ] Session nach Neustart des Backends → noch gültig? +- [ ] Gleichzeitige Sessions von verschiedenen Browsern +- [ ] Session Timeout → automatischer Logout +- [ ] CSRF Token nach Session Timeout → ungültig +- [ ] Login mit deaktiviertem User → 403 +- [ ] Login mit gelöschtem User → 401 +- [ ] Password Reset Flow komplett + +## 37. Data Consistency Tests +- [ ] Contact löschen → alle Tags, Custom Fields, Attachments, Entity Links werden gelöscht +- [ ] User löschen → seine Daten werden auf admin übertragen oder gelöscht +- [ ] Tenant löschen → alle Tenant-Daten werden gelöscht +- [ ] Soft-Delete → deleted_at wird gesetzt, Daten nicht in Queries +- [ ] Hard-Delete (?gdpr=true) → Daten physisch gelöscht +- [ ] Restore aus Trash → Daten wiederhergestellt + +## 38. Frontend Accessibility Tests +- [ ] Tastatur-Navigation (Tab, Enter, Escape) +- [ ] Screen Reader Kompatibilität (ARIA Labels) +- [ ] Color Contrast (WCAG AA) +- [ ] Touch Targets ≥ 44px +- [ ] Focus Indicators sichtbar +- [ ] i18n: Alle Strings übersetzt (keine hardcoded Strings) + +## 39. API Documentation Tests +- [ ] OpenAPI Schema ist aktuell (`GET /openapi.json`) +- [ ] Alle Endpunkte haben Beschreibungen +- [ ] Alle Schemas haben Beispiele +- [ ] Response Codes sind dokumentiert + +## 40. Infrastructure Tests +- [ ] Docker Health Check funktioniert +- [ ] Redis Persistence (dump.rdb) +- [ ] PostgreSQL Backup funktioniert +- [ ] Volume Mounts korrekt +- [ ] Environment Variables geladen +- [ ] prestart.sh läuft fehlerfrei +- [ ] worker.sh läuft fehlerfrei + +## 41. Monitoring & Observability +- [ ] Prometheus Metrics Endpoint (`GET /api/v1/metrics`) +- [ ] Structured Logging (JSON Format) +- [ ] Trace IDs in jedem Request +- [ ] Error Rate Monitoring +- [ ] Health Check History + +## 42. Deployment Tests +- [ ] Frontend-only Deploy funktioniert +- [ ] Full Deploy funktioniert +- [ ] Rollback funktioniert +- [ ] Zero-Downtime Deploy +- [ ] Migration Rollback (alembic downgrade) + +--- + ## Ausführungs-Reihenfolge 1. Smoke Tests (1.) — schnell, prüft ob System läuft