Linea guida: Verifica delle unità
La verifica delle unità è la verifica minuziosa della struttura interna di un modulo software. In questa linea guida verranno illustrati gli approcci di tipo White-Box e Black-Box alla verifica delle unità.
Relazioni
Descrizione principale

Introduzione

La verifica delle unità viene effettuata sulla parte più elementare (unità) verificabile del software e implica la verifica della struttura interna, ovvero della logica e del flusso di dati, nonché della funzione dell'unità e dei comportamenti osservabili. La progettazione e l'implementazione di verifiche focalizzate sulla struttura interna di un'unità si basano sulla conoscenza dell'implementazione dell'unità (approccio di tipo white-box). Quando invece la progettazione e l'implementazione di test per verificare i comportamenti osservabili dell'unità non si basano sulla conoscenza dell'implementazione, si parla di approccio di tipo black-box. 

Entrambi gli approcci sono utilizzati per progettare e implementare tipi diversi di test (vedere Tecnica: Tipo di test) necessari per verificare correttamente e in modo completo le unità. 

Per ulteriori informazioni sulla derivazione di scenari di test per la verifica delle unità, vedere anche Tecnica: Scenario di test.

Approccio di test di tipo White-Box

Ricorrere a un approccio di test di tipo white-box per verificare la struttura interna di un'unità. In teoria, occorre verificare ogni possibile percorso attraverso il codice, ma ciò è fattibile solo nelle unità molto semplici. Al massimo, è necessario esercitare ogni percorso interdecisionale (percorso DD) almeno una volta, perché verranno eseguite tutte le istruzioni almeno una volta. In genere, una decisione è un'istruzione di tipo if, mentre un percorso DD è un percorso tra due decisioni.

Per ottenere questo livello di completamento del test, si consiglia di scegliere dati di test che consentano di valutare ogni decisione in qualsiasi modo possibile. 

Utilizzare tool di copertura del codice per identificare il codice non esercitato dal test di tipo white box. Contemporaneamente al test di tipo white-box è necessario effettuare il test di affidabilità.

Per ulteriori informazioni, vedere Tecnica: Scenario di test 

Approccio di test di tipo Black-Box

Lo scopo di un test di tipo black-box è di verificare la funzione specificata e il comportamento osservabile dell'unità senza conoscere il modo in cui l'unità implementa la funzione e il comportamento. I test di tipo black-box si focalizzano e si basano sull'input e l'output dell'unità.

Per la valutazione, le verifiche di unità derivate basate sull'approccio di tipo black-box si avvalgono di argomenti di input e output delle operazioni dell'unità e/o dello stato di output. Ad esempio, l'operazione può includere un algoritmo (che richiede due valori come input e ne restituisce un terzo come output) o attivare la modifica dello stato di un oggetto o di un componente, ad esempio l'aggiunta o l'eliminazione di un record di database.  Entrambe le operazioni devono essere verificate in modo completo. Per verificare un'operazione, è necessario ricavare scenari di test sufficienti per verificare:

  • un valore appropriato restituito dall'operazione per ciascun valore valido utilizzato come input
  • un valore appropriato restituito dall'operazione per ciascun valore non valido utilizzato come input
  • uno stato di output appropriato per ciascuno stato di input valido
  • uno stato di output appropriato per ciascuno stato di input non valido

Utilizzare tool di copertura del codice per identificare il codice non esercitato dal test di tipo white box. Contemporaneamente al test di tipo black-box è necessario effettuare il test di affidabilità.

Per ulteriori informazioni, vedere Tecnica: Scenario di test