Ormai è un dato di fatto che ognuno preferisca adottare le proprie tecniche quando si siede davanti al proprio computer per scrivere del codice, sia questo per lavoro o per puro divertimento. Purtroppo è anche un dato di fatto che spesso le metodologie adottate, seppur piacciano tanto alla persona che le sta mettendo in pratica, non sono da considerarsi ottimali e spesso, all'insaputa del programmatore, contribuiscono ai tipici ritardi ed alle solite vagonate di bug che accompagnano la prima release di molto software.
Purtroppo nessuno ha ancora definito quale sia la pratica corretta da seguire quando si affronta un progetto che comprende lo sviluppo di un software, e probabilmente nessuno troverà mai una strada univoca dato che le situazioni e le condizioni di lavoro spesso influiscono pesantemente sulle metodologie da adottare. Ma rimane un dato ormai assodato (o comunque ritenuto importante da molto sviluppatori) il fatto che il testing semi-automatico del proprio codice sorgente aiuti di gran lunga tutti i programmatori a rilasciare codice stabile, capace di adattarsi alle patch successive con la certezza che il resto del programma continui a comportarsi bene.
Lo Unit Testing è una pratica che ormai è utilizzata da gran parte dei programmatori, soprattutto da quelli che seguono l'eXtreme Programming e tutte le discipline derivate. Non poteva mancare anche in PHP un framework per automatizzare il testing dei propri sorgenti. Questo framework si chiama PHPUnit ed è un insieme di tool e librerie molto potenti che coprono la maggior parte delle operazioni necessarie se si desidera seguire queste metodologie.
Lo Unit Testing è un procedimento utilizzato dai programmatori per assicurarsi che tutte le unità che compongono il codice sorgente di un'applicazione o libreria siano esenti da errori, si comportino in modo uniforme sulle diverse architetture e continuino a funzionare correttamente anche dopo azioni di refactoring o modifiche successive. Come accennato precedentemente effettuare Unit Testing è una pratica molto comune per chi applica le metodologie agili ad i propri progetti e porta sempre ad ottimi risultati.
Normalmente il software viene sviluppato pensando più all'implementazione di tutte le richieste piuttosto che focalizzarsi sulla stabilità dell'intero sistema, che viene testata alla fine del processo di sviluppo. Questo approccio purtroppo porta a seguire un processo di sviluppo che non facilita per nulla il lavoro del programmatore, portandolo a dover spendere molto più tempo nel bugfixing che nello sviluppo. Applicando lo Unit Testing ad i propri sorgenti ogni qual volta un'unità di codice viene aggiunta al repository, ci si assicura che ogni modifica apportata non abbia intaccato le altre e che il codice aggiunto si comporti proprio come richiesto.
Effettuare Unit Testing è un'operazione semplice, che con poca fatica migliora la qualità del lavoro: seguendo determinate regole si scrivono piccoli pezzi di codice atti a testare che il comportamento di una determinata funzionalità sia proprio come ce lo aspettiamo; poi si aggiungono i nuovi test a quelli precedenti e si eseguono tutti insieme attraverso appositi tool che restituiscono i test falliti e quelli riusciti. Alcuni tool informano anche sulle porzioni di codice non testate in modo che il programmatore possa scrivere nuovi test ed assicurarsi che tutto il suo codice si comporti correttamente. Isolando l funzionalità si scrivono dei test che assicurano queste funzionino correttamente e quindi il software risultante spesso sarà già stabile ed oltretutto ad ogni successiva modifica potremo eseguire nuovamente tutti i test in modo da assicurarci che il comportamento dell'intero sistema sia rimasto corretto.
Guida Yii FrameworkCome creare applicazioni Web in modo semplice e veloce con il... |
Guida Zend FrameworkDiventate professionisti dello sviluppo Web. Zend Framework è lo... |
Guida Applicazioni Facebook con PHPCome realizzare un'applicazione per Facebook. Dalle basi della... |
Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.
Iscriviti alla newsletter
|
|
Corso PHP per Webmaster11 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |