Unit testing
Nella Programmazione informatica, lo unit testing è una procedura usata per verificare singole parti di un codice sorgente . Per unità si intende genericamente la minima parte testabile di un codice sorgente: nella programmazione procedurale un'unità può rappresentare un singolo programma, funzione, procedura, etc.; nella programmazione orientata ad oggetti, la più piccola unità può essere il metodo.
Lo Unit Testing si articola in test case ciascuno dei quali dovrebbe essere indipendente dagli altri. Lo Unit Testing viene normalmente eseguito dagli sviluppatori, non da utenti finali.
Benefici
Lo scopo dell'Unit testing è quello di verificare il corretto funzionamento di parti di programma permettendo così una precoce individuazione dei bug. Uno unit testing accurato può dare una prova certa se un pezzo di codice funziona correttamente, con importanti vantaggi:
- facilita la modifica del codice in momenti successivi (refactoring) con la sicurezza che il modulo continuerà a funzionare correttamente - semplifica l'integrazione di moduli diversi perché limita i malfunzionamenti a problemi nella interazione tra i moduli e non nei moduli stessi - fornisce una documentazione del codice, perchè è intrinsecamente un esempio di utilizzo dell'API del modulo
Limitazioni dall'unit testing
In generale il testing non riesce ad identificare tutti gli errori in un programma, e lo stesso vale per lo Unit Testing che, analizzando per definizione le singole unità, può non identificare gli errori di integrazione, problemi legati alla performance e altre questioni di sistema. Lo unit testing è più efficace se utilizzato in congiunzione con altre tecniche di testing del software.
Come ogni forma di testing, anche lo Unit Testing non può individuare l'assenza di errori ma può solo verificarne la presenza.