docs: Test-Plan erweitert auf 42 Kategorien (Edge Cases, Concurrency, Error Handling, File Upload, Session, Data Consistency, Accessibility, API Docs, Infrastructure, Monitoring, Deployment)
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user