Gestione della Qualità Software: Metodologie di Test, Audit e Manutenzione

Classificato in Informatica

Scritto il in italiano con una dimensione di 5,04 KB

Obiettivi della Validazione e Verifica del Software

La validazione e la verifica del software mirano a:

  • Individuare e correggere i difetti il prima possibile.
  • Ridurre il rischio di deviazioni dal budget e dal calendario.
  • Migliorare la qualità e l'affidabilità del software.
  • Migliorare la visibilità della gestione del processo di sviluppo.
  • Valutare rapidamente le modifiche proposte.

Filosofia del Test del Software: Raccomandazioni di G.J. Myers

Le raccomandazioni di G.J. Myers per il test del software includono:

  • Ogni test dovrebbe definire l'output atteso.
  • Il programmatore deve evitare di testare i propri programmi.
  • I risultati di ciascuna prova devono essere ispezionati a fondo per individuare possibili sintomi di effetti collaterali.
  • Per generare casi di test, dovrebbero essere inclusi sia dati validi che non validi e inaspettati.
  • Dimostrare che il software fa ciò che deve e non fa ciò che non dovrebbe.
  • Nessun piano di test dovrebbe essere redatto assumendo l'assenza di difetti, per evitare di sprecare risorse nella loro ricerca.
  • La fase di test richiede tanta creatività quanto lo sviluppo del software.

Differenza tra Test Black Box e White Box

L'approccio Black Box (scatola nera) si concentra sullo studio delle funzioni del programma, testando tutti i possibili ingressi e le uscite. Non considera la struttura interna del codice.

L'approccio White Box (scatola bianca) si concentra sulla struttura interna del programma per selezionare i casi di test e verificare tutti i percorsi di esecuzione possibili.

Test Strutturale (White Box): Criteri di Copertura

I criteri di copertura nel test strutturale (White Box) includono:

  • Copertura delle istruzioni: Ogni istruzione viene eseguita almeno una volta.
  • Copertura delle decisioni: Ogni decisione deve essere valutata come vera e falsa almeno una volta.
  • Copertura delle condizioni: Ogni condizione all'interno di una decisione deve essere valutata come vera e falsa almeno una volta.
  • Criteri di decisione/condizione: Combina i criteri di decisione e condizione.
  • Criteri di condizione multipla.

Ciclo di Test del Software

Il ciclo di test del software comprende diverse fasi:

  • Il Test delle Unità si concentra sulle attività del modulo logico e sui vari aspetti delle funzioni che il modulo dovrà svolgere.
  • Il Test di Integrazione dovrebbe tener conto dei meccanismi di raggruppamento dei moduli stabiliti nella struttura del programma.
  • Il Test di Sistema si concentra sulla verifica che il sistema soddisfi gli obiettivi prefissati.
  • Il Test di Accettazione è utilizzato per consentire all'utente di verificare il prodotto finale.

Audit del Software

L'obiettivo dell'audit è confermare oggettivamente che i prodotti e/o i processi di sviluppo rispettino le specifiche, le norme e le procedure utilizzate nel progetto. È quindi normale che venga condotto da persone esterne all'azienda.

Revisione Dettagliata del Prodotto

L'obiettivo della revisione dettagliata è la valutazione di un prodotto per individuare difetti, migliorare la conformità del prodotto alle norme e proporre possibili soluzioni ai problemi.

Manutenzione del Software

La manutenzione è il processo di modifica di un sistema software o di un componente dopo la consegna per correggere errori, migliorare le prestazioni o altri attributi, o per adattarsi a un ambiente che cambia. Esistono diverse tipologie:

  • Manutenzione Perfettiva (60%): mira a migliorare o aggiungere nuove funzionalità richieste dagli utilizzatori.
  • Manutenzione Adattiva (18%): è l'insieme delle attività intraprese per adattare il sistema ai cambiamenti nel suo ambiente tecnologico.
  • Manutenzione Correttiva (17%): corregge i difetti nell'hardware o nel software rilevati dagli utenti.
  • Manutenzione Preventiva (5%): mira a prevenire futuri problemi nel sistema.

Revisione (Meeting)

Una revisione consiste in un incontro di un gruppo di persone per leggere un prodotto (es. codice, documentazione) e cercare qualsiasi tipo di difetto o area di miglioramento.

Voci correlate: