====== Assicurazione qualità ====== Panoramica dei processi QA e delle verifiche per WvdS FPC RAD Studio. Queste checklist valgono per **tutti gli sviluppatori** - sia per review manuali che per audit assistiti da IA. ===== Workflow QA ===== Ogni modifica passa attraverso questi 5 passi di verifica: ^ Passo ^ Verifica ^ Checklist ^ | 1 | **Production-ready** | Nessun TODO, stub, mock | | 2 | **Sicurezza** | KRITIS/NIS2, OWASP | | 3 | **Qualita codice** | Naming, DRY, gestione errori | | 4 | **SSOT** | Librerie common invece di copie locali | | 5 | **Documentazione** | Commenti PasDoc, doc API | ===== Matrice profili ===== Quali checklist applicare per tipo di progetto: ^ Tipo progetto ^ Obbligatorio ^ Opzionale ^ | Estensione VSCode | Core, cross-platform, stack VSCode | Sicurezza, logging | | App desktop | Core, build, logging | i18n, sicurezza | | TUI/CLI | Core, stack CLI, cross-platform | Sicurezza, performance | | Libreria | Core, naming, funzioni, build | Sicurezza, cross-platform | | API Web | Core, sicurezza, logging | Performance, SQL | ===== Checklist in dettaglio ===== ^ Documento ^ Contenuto ^ Quando applicare ^ | [[.:audit-core|Checklist core]] | Production-ready, gestione errori, logging | **Sempre** | | [[.:audit-sicherheit|Checklist sicurezza]] | KRITIS/NIS2, OWASP, crypto | Per rete, auth, crypto | | [[.:audit-codequalitàet|Checklist qualità codice]] | Naming, funzioni, DRY | Per modifiche API | | [[.:kommentierung|Standard di commento]] | PasDoc, XMLDoc, principi | Per nuove unit | | [[.:audit-vscode|Checklist VSCode]] | Specifico estensioni, pas2js | Per lavoro su estensioni | ===== Regole zero-tolerance ===== Queste regole sono **non negoziabili** - il codice con violazioni viene rifiutato. ==== Vietato nel codice di produzione ==== VIETATO RICHIESTO ───────────────────────────────────────────────── // TODO: ... → Implementazione completa // FIXME: ... → Codice corretto raise ENotImplemented → Codice funzionante Funzioni stub → Implementazioni reali Implementazioni mock → Codice di produzione Valori placeholder → Valori reali Stringhe hardcoded → Resourcestrings (i18n) Handler eccezione vuoti → Gestione errori specifica Magic number → Costanti con nome ==== Basi di sicurezza ==== VIETATO RICHIESTO ───────────────────────────────────────────────── Concatenazione stringa SQL → Query parametrizzate Secret nei log → Zeroization dopo uso Credenziali hardcoded → Variabili ambiente Messaggi errore con percorsi → Messaggi sanitizzati ===== Flusso review ===== ==== Passo 1: Checklist core ==== [ ] Nessun commento TODO/FIXME [ ] Nessuna funzione stub o mock [ ] Tutte le funzioni completamente implementate [ ] Nessun handler eccezione vuoto [ ] Errori loggati prima della gestione [ ] Risorse rilasciate deterministicamente [ ] Nessun codice duplicato (DRY) [ ] Nessun magic number ==== Passo 2: Sicurezza (se rilevante) ==== [ ] Input validati a tutti i confini [ ] SQL parametrizzato (nessuna concatenazione) [ ] Nessun secret nei log [ ] Messaggi errore sanitizzati (nessun percorso/versione) [ ] Secret cancellati dopo l'uso (zeroization) [ ] Timeout per operazioni esterne ==== Passo 3: Verifica SSOT ==== [ ] API NodeJS via ~/sources/common/web/nodejs/ [ ] API VSCode via ~/sources/common/web/vscode/ [ ] Logging via WvdS.System.Logging [ ] Nessuna chiamata require() diretta nelle estensioni [ ] Nessun duplicato di unit common ==== Passo 4: Documentazione ==== [ ] API pubblica ha commenti PasDoc [ ] I commenti spiegano PERCHE, non COSA [ ] Nessun commento obsoleto [ ] Commenti in inglese ===== Audit assistiti da IA ===== Le stesse checklist vengono usate per audit IA automatizzati: # Task di audit (vedere docs/automated-test-tasks.txt) 1. IMPLEMENT ALL STUBS/MOCKS - Creare inventario di tutte le unit - Identificare stub/mock - Implementare per produzione 2. EXECUTE QUALITY/SECURITY AUDIT - Identificare rischi sicurezza - Trovare violazioni SoC - Correggere secondo gli standard 3. ADD CODE COMMENTS - Identificare commenti mancanti - Scrivere commenti PasDoc 4. SSOT CHECK - Trovare chiamate require() locali - Sostituire con chiamate libreria common 5. BUILD EXTENSIONS - Compilare e testare - Creare VSIX ===== Protocollazione ===== Tutti i passi di audit vengono protocollati nel formato stack-trace: [2026-01-13 10:30:22.001] Audit avviato at TWvdSAudit.Initialize(Audit.Service.pas:42) Scope: sources/extensions/** [2026-01-13 10:30:22.015] Trovato: commento TODO at extension_main.pas:156 Testo: "// TODO: Implement error handling" Azione: implementazione richiesta [2026-01-13 10:30:22.042] Corretto: commento TODO rimosso at extension_main.pas:156 Modifica: gestione errori completa implementata ===== Vedi anche ===== * [[.:audit-core|Checklist core]] * [[.:audit-sicherheit|Checklist sicurezza]] * [[.:audit-codequalitàet|Checklist qualità codice]] * [[.:kommentierung|Standard di commento]] * [[.:audit-vscode|Checklist estensioni VSCode]] * [[.:sicherheit|Linee guida sulla sicurezza]] * [[.:code-konventionen|Convenzioni del codice]]