Prima di apprendere la garanzia della qualità, capiamo-
Cos'è la qualità?
La qualità è estremamente difficile da definire, ed è semplicemente affermato: "Adatto all'uso o allo scopo". Si tratta di soddisfare le esigenze e le aspettative dei clienti rispetto a funzionalità, design, affidabilità, durata e prezzo del prodotto.
Cos'è la garanzia?
La garanzia non è altro che una dichiarazione positiva su un prodotto o servizio, che dà fiducia. È la certezza di un prodotto o di un servizio, che funzionerà bene. Fornisce una garanzia che il prodotto funzionerà senza problemi secondo le aspettative o i requisiti.
Garanzia di qualità nel test del software
La garanzia della qualità nel test del software è definita come una procedura per garantire la qualità dei prodotti o servizi software forniti ai clienti da un'organizzazione. La garanzia della qualità si concentra sul miglioramento del processo di sviluppo del software e sul renderlo efficiente ed efficace secondo gli standard di qualità definiti per i prodotti software. La garanzia di qualità è comunemente nota come test di controllo qualità.
In questo tutorial imparerai-
- Come eseguire la garanzia della qualità: processo completo
- Cos'è il controllo di qualità?
- Differenza tra controllo di qualità e garanzia di qualità?
- Differenze tra SQA e test del software
- Migliori pratiche per la garanzia della qualità
- Funzioni di garanzia della qualità
- Certificazioni di garanzia della qualità
- Livello CMMI
- Test Maturity Model (TMM)
Come eseguire la garanzia della qualità: processo completo
La metodologia di garanzia della qualità ha un ciclo definito chiamato ciclo PDCA o ciclo di Deming. Le fasi di questo ciclo sono:
- Piano
- Fare
- Dai un'occhiata
- atto

Questi passaggi precedenti vengono ripetuti per garantire che i processi seguiti nell'organizzazione siano valutati e migliorati su base periodica. Esaminiamo in dettaglio i passaggi del processo di controllo qualità sopra riportati:
- Pianificazione: l'organizzazione dovrebbe pianificare e stabilire gli obiettivi relativi al processo e determinare i processi necessari per fornire un prodotto finale di alta qualità.
- Fare - Sviluppo e test di Processi e anche "fare" cambiamenti nei processi
- Check - Monitoraggio dei processi, modifica dei processi e verifica se soddisfa gli obiettivi predeterminati
- Agire - Un tester della garanzia di qualità dovrebbe implementare le azioni necessarie per ottenere miglioramenti nei processi
Un'organizzazione deve utilizzare la garanzia della qualità per garantire che il prodotto sia progettato e implementato con procedure corrette. Questo aiuta a ridurre problemi ed errori, nel prodotto finale.
Cos'è il controllo di qualità?
Controllo di qualità comunemente abbreviato in QC. È un processo di ingegneria del software utilizzato per garantire la qualità di un prodotto o servizio. Non si occupa dei processi utilizzati per creare un prodotto; piuttosto esamina la qualità dei "prodotti finali" e il risultato finale.
Lo scopo principale del controllo di qualità è verificare se i prodotti soddisfano le specifiche e i requisiti del cliente. Se viene identificato un problema o un problema, è necessario risolverlo prima della consegna al cliente.
QC valuta anche le persone in base al loro livello di qualità e impartisce formazione e certificazioni. Questa valutazione è necessaria per l'organizzazione basata sui servizi e aiuta a fornire un servizio "perfetto" ai clienti.
Differenza tra controllo di qualità e garanzia di qualità?
A volte, il controllo di qualità viene confuso con il controllo di qualità. Il controllo di qualità consiste nell'esaminare il prodotto o servizio e verificare il risultato. La garanzia della qualità nell'ingegneria del software consiste nell'esaminare i processi e apportare modifiche ai processi che hanno portato al prodotto finale.

Esempi di attività di QC e QA sono i seguenti:
Attività di controllo qualità | Attività di garanzia della qualità |
---|---|
Procedura dettagliata | Audit di qualità |
Test | Processo di definizione |
Ispezione | Identificazione e selezione dello strumento |
Revisione del checkpoint | Formazione di standard e processi di qualità |
Le attività di cui sopra riguardano i meccanismi di garanzia e controllo della qualità per qualsiasi prodotto e non essenzialmente software . Per quanto riguarda il software
- QA diventa SQA (Software Quality Assurance)
- QC diventa Software Testing .
Differenze tra SQA e test del software
La tabella seguente spiega le differenze tra SQA e test del software:
SQA |
Test del software |
---|---|
Software Quality Assurance riguarda il processo di progettazione che garantisce la qualità | Il test del software consiste nel testare un prodotto per rilevare eventuali problemi prima che il prodotto venga pubblicato |
Coinvolge attività relative all'implementazione di processi, procedure e standard. Esempio: formazione sugli audit | Coinvolge attivi riguardanti la verifica del prodotto Esempio - Test di revisione |
Focalizzato sul processo | Focalizzato sul prodotto |
Tecnica preventiva | Tecnica correttiva |
Misura proattiva | Misura reattiva |
L'ambito di SQA si applica a tutti i prodotti che verranno creati dall'organizzazione | L'ambito del test del software si applica a un particolare prodotto in fase di test. |
Migliori pratiche per la garanzia della qualità:
- Crea un ambiente di test robusto
- Seleziona attentamente i criteri di rilascio
- Applica test automatizzati alle aree ad alto rischio per risparmiare denaro. Aiuta a fissare l'intero processo.
- Allocare il tempo in modo appropriato per ogni processo
- È importante dare la priorità alle correzioni dei bug in base all'utilizzo del software
- Formare un team dedicato per i test di sicurezza e prestazioni
- Simula gli account dei clienti in modo simile a un ambiente di produzione
Funzioni di garanzia della qualità:
Esistono 5 funzioni principali di garanzia della qualità:
- Trasferimento di tecnologia: questa funzione prevede l'acquisizione di un documento di progettazione del prodotto, nonché i dati di tentativi ed errori e la relativa valutazione. I documenti vengono distribuiti, controllati e approvati
- Convalida: qui viene preparato il piano generale di convalida per l'intero sistema. Viene stabilita l'approvazione dei criteri di prova per la convalida del prodotto e del processo. Viene eseguita la pianificazione delle risorse per l'esecuzione di un piano di convalida.
- Documentazione: questa funzione controlla la distribuzione e l'archiviazione dei documenti. Qualsiasi modifica a un documento viene effettuata adottando la corretta procedura di controllo delle modifiche. Approvazione di tutti i tipi di documenti.
- Assicurare la qualità dei prodotti
- Piani di miglioramento della qualità
Certificazioni di garanzia della qualità:
Esistono diverse certificazioni disponibili nel settore per garantire che le organizzazioni seguano i processi di qualità degli standard. I clienti lo considerano un criterio di qualificazione durante la selezione di un fornitore di software.
ISO 9000
Questo standard è stato stabilito per la prima volta nel 1987 ed è correlato ai sistemi di gestione della qualità. Questo aiuta l'organizzazione a garantire la qualità ai propri clienti e ad altri stakeholder. Un'organizzazione che desidera essere certificata ISO 9000 viene controllata in base alle proprie funzioni, prodotti, servizi e processi. L'obiettivo principale è riesaminare e verificare se l'organizzazione sta seguendo il processo come previsto e verificare se i processi esistenti necessitano di miglioramenti.
Questa certificazione aiuta:
- Aumenta il profitto dell'organizzazione
- Migliora il commercio interno e internazionale
- Riduce gli sprechi e aumenta la produttività dei dipendenti
- Fornire un'eccellente soddisfazione del cliente
Livello CMMI
Il Capability Maturity Model Integrated (CMMI) è un approccio al miglioramento dei processi sviluppato appositamente per il miglioramento dei processi software. Si basa sul framework di maturità dei processi e viene utilizzato come ausilio generale nei processi aziendali nell'industria del software. Questo modello è molto apprezzato e ampiamente utilizzato nelle organizzazioni di sviluppo software.
CMMI ha 5 livelli. Un'organizzazione è certificata a livello CMMI da 1 a 5 in base alla maturità dei propri meccanismi di garanzia della qualità.
- Livello 1 - Iniziale: in questa fase l'ambiente di qualità è instabile. Semplicemente, nessun processo è stato seguito o documentato
- Livello 2 - Ripetibile: vengono seguiti alcuni processi ripetibili. Questo livello garantisce che i processi siano seguiti a livello di progetto.
- Livello 3 - Definito: l' insieme di processi è definito e documentato a livello organizzativo. Tali processi definiti sono soggetti a un certo grado di miglioramento.
- Livello 4 - Gestito: questo livello utilizza metriche di processo e controlla efficacemente i processi che vengono seguiti.
- Livello 5 - Ottimizzazione: questo livello si concentra sul miglioramento continuo dei processi attraverso l'apprendimento e l'innovazione.
Test Maturity Model (TMM):
Questo modello valuta la maturità dei processi in un ambiente di test. Anche questo modello ha 5 livelli, definiti di seguito-
- Livello 1 - Iniziale : non esiste uno standard di qualità seguito per i processi di test e a questo livello vengono utilizzati solo metodi ad-hoc
- Livello 2 - Definizione: processo definito. Viene eseguita la preparazione della strategia di test, dei piani e dei casi di test.
- Livello 3 - Integrazione: il test viene effettuato durante tutto il ciclo di vita dello sviluppo del software (SDLC) - che non è altro che l'integrazione con le attività di sviluppo, ad esempio V-Model.
- Livello 4 - Gestione e misurazione: la revisione dei requisiti e dei progetti avviene a questo livello e sono stati stabiliti criteri per ogni livello di test
- Livello 5 - Ottimizzazione: molte tecniche preventive vengono utilizzate per i processi di test e il supporto degli strumenti (automazione) viene utilizzato per migliorare gli standard ei processi di test.
Conclusione:
La garanzia di qualità consiste nel verificare se il prodotto sviluppato è idoneo all'uso. Per questo, l'organizzazione dovrebbe avere processi e standard da seguire che devono essere migliorati su base periodica. Si concentra principalmente sulla qualità del prodotto / servizio che forniamo ai clienti durante o dopo l'implementazione del software.