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
Checklist core Production-ready, gestione errori, logging Sempre
Checklist sicurezza KRITIS/NIS2, OWASP, crypto Per rete, auth, crypto
Checklist qualità codice Naming, funzioni, DRY Per modifiche API
Standard di commento PasDoc, XMLDoc, principi Per nuove unit
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

Zuletzt geändert: il 30/01/2026 alle 01:30