Test del software - QA, QC e test

Test, garanzia di qualità e controllo di qualità

La maggior parte delle persone si confonde quando si tratta di individuare le differenze tra garanzia di qualità, controllo di qualità e test. Sebbene siano correlati e in una certa misura, possono essere considerati come le stesse attività, ma esistono punti distintivi che li distinguono. La tabella seguente elenca i punti che differenziano QA, QC e Test.

Garanzia di qualità Controllo di qualità Test
La garanzia di qualità include attività che garantiscono l'implementazione di processi, procedure e standard nel contesto della verifica del software sviluppato e dei requisiti previsti. Comprende attività che assicurano la verifica di un software sviluppato rispetto a requisiti documentati (o meno in alcuni casi). Comprende attività che garantiscono l'identificazione di bug / errori / difetti in un software.
Si concentra su processi e procedure piuttosto che condurre test effettivi sul sistema. Si concentra sui test effettivi eseguendo il software con l'obiettivo di identificare bug / difetti attraverso l'implementazione di procedure e processi. Si concentra sui test effettivi.
Attività orientate al processo. Attività orientate al prodotto. Attività orientate al prodotto.
Attività preventive. È un processo correttivo. È un processo preventivo.
È un sottoinsieme di Software Test Life Cycle (STLC). Il controllo di qualità può essere considerato come il sottoinsieme della garanzia di qualità. Il test è il sottoinsieme del controllo di qualità.

Audit e ispezione

Audit- È un processo sistematico per determinare come viene condotto il processo di test effettivo all'interno di un'organizzazione o di un team. In generale, è un esame indipendente dei processi coinvolti durante il test di un software. Secondo IEEE, è una revisione dei processi documentati che le organizzazioni implementano e seguono. I tipi di audit includono audit di conformità legale, audit interno e audit di sistema.

Inspection- È una tecnica formale che comporta revisioni tecniche formali o informali di qualsiasi artefatto identificando eventuali errori o lacune. Secondo IEEE94, l'ispezione è una tecnica di valutazione formale in cui i requisiti, i progetti oi codici del software vengono esaminati in dettaglio da una persona o un gruppo diverso dall'autore per rilevare errori, violazioni degli standard di sviluppo e altri problemi.

Le riunioni di ispezione formale possono includere i seguenti processi: pianificazione, preparazione della panoramica, riunione di ispezione, rilavorazione e follow-up.

Test e debug

Testing- Implica l'identificazione di bug / errori / difetti in un software senza correggerlo. Normalmente i professionisti con un background di garanzia della qualità sono coinvolti nell'identificazione dei bug. Il test viene eseguito nella fase di test.

Debugging- Implica l'identificazione, l'isolamento e la risoluzione dei problemi / bug. Gli sviluppatori che codificano il software eseguono il debug quando riscontrano un errore nel codice. Il debug fa parte del White Box Testing o Unit Testing. Il debug può essere eseguito nella fase di sviluppo durante lo svolgimento di unit test o in fasi durante la correzione dei bug segnalati.