Chi ha cominciato da poco ad impratichirsi di linguaggi di programmazione avrà probabilmente sentito parlare di "Unit testing" senza sapere esattamente di cosa si tratti. Diciamo subito che l’Unit testing è una procedura di controllo del codice sorgente non molto diffusa perché richiede tempo e, per questo motivo, viene spesso ignorata dai programmatori meno "pignoli".
In pratica con lo Unit testing si intende la verifica di singole porzioni di codice sorgente il quale viene analizzato a blocchi o, più corettamente, ad unità.
Come si effettua uno Unit testing?
In pratica il codice sorgente da verificare viene "spezzettato" in sezioni unitarie (dette appunto unit o unità) testabili autonomamente, dopodiché si procede ai test su ciascuna di queste.
L’attività di debug, quindi, sarà svolta su singoli pezzi di codice che verranno analizzati uno ad uno, mediante dei test case.
Questo tipo di approccio al debug è applicabile sia nella programmazione procedurale che ad Oggetti: nel caso della programmazione procedurale una sezione unitaria potrebbe essere per esempio una singola funzione, mentre nell’Object-Oriented Programming (Programmazione Orientata agli Oggetti o OOP) questa potrebbe essere rappresentata da un metodo.
Una volta effettuati i test case questi permetteranno di rilevare velocemente eventuali vulnerabilità e malfunzionamenti o, al contrario, di accertare che una determinata porzione di codice funzioni correttamente.
Una volta completato il debug di una unità, questa dovrà essere contrassegnata in modo da confermare che, nella forma corrente, non necessita di correzioni e può considerarsi esenta da bug.
Software per effettuare lo Unit testing
Esistono diversi software appositamente pensati per lo Unit testing. Di seguito un breve elenco dei più noti:
- jUnit: è, probabilmente, uno dei framework più famosi per lo Unit testing di applicazioni scritte in Java. Per download e documentazione si visiti la pagina ufficiale del progetto.
- xUnit: si tratta di uno strumento (gratuto e open-source) appositamente pensato per il debug di applicazioni basate sl .NET Framework. Per maggiori info, documentazione e download vi invito a visitare la pagina ufficiale del progetto.
- Embunit: è uno dei più popolari tool per lo Unit testing dedicato agli sviluppatori C e C++. Per info e download si visiti il sito ufficiale (la licenza del software costa, nel momento in cui scriviamo, circa 95 sterline).
- PHPUnit: per lo Unit testing in PHP vi consiglio di utilizzare un framework come PHPUnit, appositamente creato per questo scopo, riccamente documentato e disponibile gratuitamente.