====== Osiguranje kvalitete ====== Pregled QA-procesa i provjera za WvdS FPC RAD Studio. Ove checkliste vrijede za **sve razvojne programere** - i za ručne preglede i za AI-potpomognute audite. ===== QA-Workflow ===== Svaka promjena prolazi kroz ovih 5 koraka provjere: ^ Korak ^ Provjera ^ Checklista ^ | 1 | **Production-Ready** | Nema TODOs, Stubs, Mocks | | 2 | **Sigurnost** | KRITIS/NIS2, OWASP | | 3 | **Kvaliteta koda** | Naming, DRY, Error Handling | | 4 | **SSOT** | Common Libraries umjesto lokalnih kopija | | 5 | **Dokumentacija** | PasDoc-komentari, API-Docs | ===== Profil-Matrica ===== Koje checkliste primijeniti ovisno o tipu projekta: ^ Tip projekta ^ Obavezno ^ Opcionalno ^ | VSCode Extension | Core, Cross-Platform, VSCode-Stack | Sigurnost, Logging | | Desktop App | Core, Build, Logging | i18n, Sigurnost | | TUI/CLI | Core, CLI-Stack, Cross-Platform | Sigurnost, Performanse | | Library | Core, Naming, Functions, Build | Sigurnost, Cross-Platform | | Web API | Core, Sigurnost, Logging | Performanse, SQL | ===== Checkliste u detalje ===== ^ Dokument ^ Sadržaj ^ Kada primijeniti ^ | [[.:audit-core|Core-Checklista]] | Production-Ready, Error Handling, Logging | **Uvijek** | | [[.:audit-sicherheit|Sigurnosna checklista]] | KRITIS/NIS2, OWASP, Crypto | Kod Mreže, Auth, Crypto | | [[.:audit-codequalitaet|Checklista kvalitete koda]] | Naming, Functions, DRY | Kod API-promjena | | [[.:kommentierung|Standardi komentiranja]] | PasDoc, XMLDoc, Principles | Kod novih Unita | | [[.:audit-vscode|VSCode-Checklista]] | Extension-specifično, pas2js | Kod rada na Extensionu | ===== Zero-Tolerance-Pravila ===== Ova pravila su **nepregovarajuća** - kod s kršenjima bit će odbijen. ==== Zabranjeno u produkcijskom kodu ==== ZABRANJENO POTREBNO ───────────────────────────────────────────────── // TODO: ... → Potpuna implementacija // FIXME: ... → Ispravljeni kod raise ENotImplemented → Funkcionirajući kod Stub-funkcije → Prave implementacije Mock-implementacije → Produkcijski kod Placeholder-vrijednosti → Prave vrijednosti Hardkodirani stringovi → Resourcestrings (i18n) Prazni Exception-handleri → Specifična obrada grešaka Magic Numbers → Imenovane konstante ==== Sigurnosni temelji ==== ZABRANJENO POTREBNO ───────────────────────────────────────────────── SQL-String-konkatenacija → Parametrizirani Queries Secrets u logovima → Zeroization nakon korištenja Hardkodirani Credentials → Environment Variables Poruke o greškama s putanjama → Sanitizirane poruke ===== Review-Tok ===== ==== Korak 1: Core-Checklista ==== [ ] Nema TODO/FIXME-komentara [ ] Nema Stub- ili Mock-funkcija [ ] Sve funkcije potpuno implementirane [ ] Nema praznih Exception-handlera [ ] Greške se logiraju prije obrade [ ] Resursi se deterministički oslobađaju [ ] Nema dupliciranog koda (DRY) [ ] Nema Magic Numbers ==== Korak 2: Sigurnost (ako relevantno) ==== [ ] Inputi validirani na svim granicama [ ] SQL parametriziran (bez konkatenacije) [ ] Nema Secrets u logovima [ ] Poruke o greškama sanitizirane (bez putanja/verzija) [ ] Secrets obrisani nakon korištenja (Zeroization) [ ] Timeouts za vanjske operacije ==== Korak 3: SSOT-Provjera ==== [ ] NodeJS-APIs via ~/sources/common/web/nodejs/ [ ] VSCode-APIs via ~/sources/common/web/vscode/ [ ] Logging via WvdS.System.Logging [ ] Nema direktnih require()-poziva u Extensionima [ ] Nema duplikata Common-Unita ==== Korak 4: Dokumentacija ==== [ ] Javni API ima PasDoc-komentare [ ] Komentari objašnjavaju ZAŠTO, ne ŠTO [ ] Nema zastarjelih komentara [ ] Komentari na engleskom ===== AI-potpomognuti Auditi ===== Iste checkliste koriste se za automatizirane AI-Audite: # Audit-Zadaci (vidi docs/automated-test-tasks.txt) 1. IMPLEMENT ALL STUBS/MOCKS - Kreirati inventar svih Unita - Identificirati Stubs/Mocks - Implementirati production-ready 2. EXECUTE QUALITY/SECURITY AUDIT - Identificirati sigurnosne rizike - Pronaći SoC-kršenja - Ispraviti prema standardima 3. ADD CODE COMMENTS - Identificirati nedostajuće komentare - Napisati PasDoc-komentare 4. SSOT CHECK - Pronaći lokalne require()-pozive - Zamijeniti Common-Library-pozivima 5. BUILD EXTENSIONS - Kompilirati i testirati - Kreirati VSIX ===== Protokoliranje ===== Svi Audit-koraci se protokoliraju prema Stack-Trace-Formatu: [2026-01-13 10:30:22.001] Audit pokrenut at TWvdSAudit.Initialize(Audit.Service.pas:42) Scope: sources/extensions/** [2026-01-13 10:30:22.015] Pronađeno: TODO-komentar at extension_main.pas:156 Text: "// TODO: Implement error handling" Akcija: Implementacija potrebna [2026-01-13 10:30:22.042] Ispravljeno: TODO-komentar uklonjen at extension_main.pas:156 Promjena: Potpuna obrada grešaka implementirana ===== Vidi također ===== * [[.:audit-core|Core-Checklista]] * [[.:audit-sicherheit|Sigurnosna checklista]] * [[.:audit-codequalitaet|Checklista kvalitete koda]] * [[.:kommentierung|Standardi komentiranja]] * [[.:audit-vscode|VSCode Extension Checklista]] * [[.:sicherheit|Sigurnosne smjernice]] * [[.:code-konventionen|Konvencije koda]]