Tecniche di review
Finora abbiamo esplorato tecniche più o meno automatiche per la ricerca di errori, che stimolavano il programma con specifici input o ne analizzavano il codice per individuare potenziali anomalie.
Tuttavia, alcuni tipi di errori non possono essere rilevati con questi metodi: si tratta soprattutto errori legati a incomprensione delle specifiche.
Del resto, attività come il testing richiedono che il programmatore fornisca l’output “corretto” che si aspetta dal programma che viene confrontato con quello effettivo per scovare eventuali differenze: se chi scrive il codice non comprende in primo luogo cosa dovrebbe fare il suo software non c’è modo di individuare l’errore.
Per questo motivo molto spesso il codice viene sottoposto ad un’attività di review, in cui un operatore umano ne analizza la struttura e il funzionamento: egli sarà chiaramente in grado di cogliere una serie di errori semantici che sfuggono alla comprensione dei tool automatici di test. Spesso questa mansione viene svolta da un team di testing separato dal team di sviluppo: non solo questo promuove l’effettiva ricerca di errori (mentre gli sviluppatori avrebbero tutto l’interesse di non trovarne nessuno), ma sottopone il software a uno sguardo esterno più critico e imparziale.
Anche per la review esistono una serie di tecniche: vediamone quindi le principali.