Tipologie di testing software: Il Test di Unità

Tipologie di testing software: Il Test di Unità

Lo scopo dei test di unità è quello di isolare ciascuna parte di un programma e mostrarne correttezza e completezza nell’implementazione, facendo emergere tempestivamente eventuali difetti, in modo che essi possano essere corretti facilmente prima dell’integrazione.

Tipologie di testing software: Il Test di Unità

Il testing di unità è realizzato mediante un approccio white-box testing e si articola tipicamente in “test case”, ovvero casi di test, ciascuno dei quali dovrebbe essere indipendente dagli altri.
Dato il forte legame tra codice sorgente, casi di test e relative specifiche da verificare, il test di unità viene normalmente eseguito dallo sviluppatore che si è occupato di quella particolare porzione di programma.
I casi di test, infatti, vengono abitualmente sviluppati in parallelo al codice applicativo e sono implementati tramite procedure automatiche, in grado di rieseguire il test ogni volta che ce ne sia la necessità.
Il motivo per cui tale tipologia di testing risulta fondamentale e irrinunciabile è che spesso i difetti sono più facilmente identificabili tramite i malfunzionamenti avvenuti in un ambiente più piccolo e circoscritto.
Se i difetti vengono identificati e risolti in breve tempo dopo la loro introduzione, il tempo per la loro localizzazione e soluzione risulta notevolmente ridotto.
Il compito del testing di un intero applicativo risulta notevolmente semplificato si è già testata la correttezza di ogni singolo modulo.
Un’altra buona ragione per eseguire i test di unità è che alcuni difetti emergono solamente in presenza di particolari configurazioni del software, che sarebbero difficilmente ricreabili in un ambiente più complesso e vasto.

Spesso vengono introdotti a tal proposito degli appositi “driver”, che simulano le unità chiamanti della componente testata, e degli “stub”, che simulano l’unità chiamata.
Inoltre, il test di unità abbassa i costi, in termini di tempo e risorse, per l’identificazione e la correzione di difetti, rispetto a quelli che si sarebbero dovuti affrontare per ottenere lo stesso risultato tramite dei test sull’intero applicativo.
Nella programmazione orientata agli oggetti la tipica componente che costituisce l’unità da testare individualmente è la classe, ed il test di unità più piccolo include il costruttore ed il distruttore.
In generale il testing non riesce ad identificare tutti gli errori in un programma e lo stesso vale per i test di unità che, analizzando per definizione le singole componenti, non possono rilevare difetti di integrazione, problemi legati alla performance e altri problemi legati al sistema in generale.
Il test di unità risulta quindi più efficace se utilizzato in congiunzione con altre tecniche di testing del software.

 

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: www.vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *