Unit testing: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Riga 3:
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]].
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:
Lo unit testing facilita la modifica del codice del modulo in momenti successivi ([[refactoring]]) con la sicurezza che il modulo continuerà a funzionare correttamente. Il procedimento consiste nello scrivere [[test case]] per tutte le funzioni e i metodi, in modo che se una modifica produce un fallimento del test, si possa facilmente individuare la modifica responsabile.
Riga 14:
In sistemi con unit testing continuo, tali test sono in grado di garantire l'automatica integrità del codice ad ogni modifica.
Lo unit testing semplifica l'integrazione di moduli diversi perché limita i malfunzionamenti a problemi nella interazione tra i moduli e non nei moduli stessi, rendendo i test di integrazione più semplici.
Un argomento molto dibattuto è quello della non necessità di test di integrazione manuali, in caso si sia organizzata una procedura di unit testing sufficientemente completa. In realtà spesso un elaborato sistema di unit testing fornisce una falsa sicurezza e un test di integrazione gestito da esseri umani è in genere ugualmente necessario. Probabilmente la reale necessità del fattore umano nella procedura di test dipende dalle caratteristiche del sistema nel quale si sviluppa e soprattutto dalla disponibilità di risorse.
Lo unit testing fornisce una documentazione "viva" del codice, perchè è intrinsecamente un esempio di utilizzo dell'[[API]] del modulo.
|