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:
Agent Zero
2026-08-21 21:33:21 +02:00
parent 11b45cffac
commit d16bd388b1
+91
View File
@@ -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 ## Ausführungs-Reihenfolge
1. Smoke Tests (1.) — schnell, prüft ob System läuft 1. Smoke Tests (1.) — schnell, prüft ob System läuft