====== Qualitätssicherung ====== Übersicht der QA-Prozesse und Prüfungen für WvdS FPC RAD Studio. Diese Checklisten gelten für **alle Entwickler** - sowohl für manuelle Reviews als auch für KI-gestützte Audits. ===== QA-Workflow ===== Jede Änderung durchläuft diese 5 Prüfschritte: ^ Schritt ^ Prüfung ^ Checkliste ^ | 1 | **Production-Ready** | Keine TODOs, Stubs, Mocks | | 2 | **Sicherheit** | KRITIS/NIS2, OWASP | | 3 | **Code-Qualität** | Naming, DRY, Error Handling | | 4 | **SSOT** | Common Libraries statt lokaler Kopien | | 5 | **Dokumentation** | PasDoc-Kommentare, API-Docs | ===== Profil-Matrix ===== Welche Checklisten je nach Projekttyp anwenden: ^ Projekttyp ^ Pflicht ^ Optional ^ | VSCode Extension | Core, Cross-Platform, VSCode-Stack | Sicherheit, Logging | | Desktop App | Core, Build, Logging | i18n, Sicherheit | | TUI/CLI | Core, CLI-Stack, Cross-Platform | Sicherheit, Performance | | Library | Core, Naming, Functions, Build | Sicherheit, Cross-Platform | | Web API | Core, Sicherheit, Logging | Performance, SQL | ===== Checklisten im Detail ===== ^ Dokument ^ Inhalt ^ Wann anwenden ^ | [[.:audit-core|Core-Checkliste]] | Production-Ready, Error Handling, Logging | **Immer** | | [[.:audit-sicherheit|Sicherheits-Checkliste]] | KRITIS/NIS2, OWASP, Crypto | Bei Netzwerk, Auth, Crypto | | [[.:audit-codequalitaet|Codequalität-Checkliste]] | Naming, Functions, DRY | Bei API-Änderungen | | [[.:kommentierung|Kommentierungsstandards]] | PasDoc, XMLDoc, Principles | Bei neuen Units | | [[.:audit-vscode|VSCode-Checkliste]] | Extension-spezifisch, pas2js | Bei Extension-Arbeit | ===== Zero-Tolerance-Regeln ===== Diese Regeln sind **nicht verhandelbar** - Code mit Verstößen wird abgelehnt. ==== Verboten in Produktionscode ==== VERBOTEN ERFORDERLICH ───────────────────────────────────────────────── // TODO: ... → Vollständige Implementierung // FIXME: ... → Behobener Code raise ENotImplemented → Funktionierender Code Stub-Funktionen → Echte Implementierungen Mock-Implementierungen → Produktionscode Placeholder-Werte → Echte Werte Hardcodierte Strings → Resourcestrings (i18n) Leere Exception-Handler → Spezifische Fehlerbehandlung Magic Numbers → Benannte Konstanten ==== Sicherheits-Basics ==== VERBOTEN ERFORDERLICH ───────────────────────────────────────────────── SQL-String-Konkatenation → Parametrisierte Queries Secrets in Logs → Zeroization nach Verwendung Hardcodierte Credentials → Environment Variables Fehlermeldungen mit Pfaden → Sanitisierte Meldungen ===== Review-Ablauf ===== ==== Schritt 1: Core-Checkliste ==== [ ] Keine TODO/FIXME-Kommentare [ ] Keine Stub- oder Mock-Funktionen [ ] Alle Funktionen vollständig implementiert [ ] Keine leeren Exception-Handler [ ] Fehler werden vor Behandlung geloggt [ ] Ressourcen werden deterministisch freigegeben [ ] Kein duplizierter Code (DRY) [ ] Keine Magic Numbers ==== Schritt 2: Sicherheit (falls relevant) ==== [ ] Eingaben an allen Grenzen validiert [ ] SQL parametrisiert (keine Konkatenation) [ ] Keine Secrets in Logs [ ] Fehlermeldungen sanitisiert (keine Pfade/Versionen) [ ] Secrets nach Verwendung gelöscht (Zeroization) [ ] Timeouts für externe Operationen ==== Schritt 3: SSOT-Prüfung ==== [ ] NodeJS-APIs via ~/sources/common/web/nodejs/ [ ] VSCode-APIs via ~/sources/common/web/vscode/ [ ] Logging via WvdS.System.Logging [ ] Keine direkten require()-Aufrufe in Extensions [ ] Keine Duplikate von Common-Units ==== Schritt 4: Dokumentation ==== [ ] Öffentliche API hat PasDoc-Kommentare [ ] Kommentare erklären WARUM, nicht WAS [ ] Keine veralteten Kommentare [ ] Kommentare in Englisch ===== KI-gestützte Audits ===== Die gleichen Checklisten werden für automatisierte KI-Audits verwendet: # Audit-Aufgaben (siehe docs/automated-test-tasks.txt) 1. IMPLEMENT ALL STUBS/MOCKS - Inventar aller Units erstellen - Stubs/Mocks identifizieren - Produktionsreif implementieren 2. EXECUTE QUALITY/SECURITY AUDIT - Sicherheitsrisiken identifizieren - SoC-Verstöße finden - Nach Standards beheben 3. ADD CODE COMMENTS - Fehlende Kommentare identifizieren - PasDoc-Kommentare schreiben 4. SSOT CHECK - Lokale require()-Aufrufe finden - Durch Common-Library-Aufrufe ersetzen 5. BUILD EXTENSIONS - Kompilieren und testen - VSIX erstellen ===== Protokollierung ===== Alle Audit-Schritte werden protokolliert nach dem Stack-Trace-Format: [2026-01-13 10:30:22.001] Audit gestartet at TWvdSAudit.Initialize(Audit.Service.pas:42) Scope: sources/extensions/** [2026-01-13 10:30:22.015] Gefunden: TODO-Kommentar at extension_main.pas:156 Text: "// TODO: Implement error handling" Aktion: Implementierung erforderlich [2026-01-13 10:30:22.042] Behoben: TODO-Kommentar entfernt at extension_main.pas:156 Änderung: Vollständige Fehlerbehandlung implementiert ===== Siehe auch ===== * [[.:audit-core|Core-Checkliste]] * [[.:audit-sicherheit|Sicherheits-Checkliste]] * [[.:audit-codequalitaet|Codequalität-Checkliste]] * [[.:kommentierung|Kommentierungsstandards]] * [[.:audit-vscode|VSCode Extension Checkliste]] * [[.:sicherheit|Sicherheitsrichtlinien]] * [[.:code-konventionen|Code-Konventionen]]