Automazione del collaudo del softwareIn informatica, l'automazione del collaudo del software consiste nello sviluppo di apposito software che interagisce con il software da collaudare senza bisogno dell'intervento di un operatore umano, e fornisce all'utente un rapporto di qualità. Il risultato del processo di automazione del collaudo è il "collaudo automatizzato". Se invece il collaudo del software consiste nell'utilizzo del prodotto quasi come se fosse la normale operatività di tale sistema software, si parla di "collaudo manuale". Tra questi due estremi, si possono avere varie posizioni intermedie, in cui parte del lavoro è automatizzato, ma è sempre richiesta la presenza del collaudatore. In tali casi, si parla di "collaudo parzialmente automatizzato" o di "collaudo semi-automatizzato". DescrizioneNel collaudo manuale, tipico del software interattivo, il collaudatore utilizza il software come farebbe l'utente, ma cercando di attivare il maggior numero possibile di funzioni e le configurazioni più variegate. Quando il collaudatore constata un comportamento inatteso, ne prende nota e prosegue a collaudare altre funzionalità. Nel collaudo automatico, il collaudatore può usare due tecniche di base:
La prima tecnica richiede che il collaudatore sia un programmatore che conosca l'architettura interna del software da collaudare. Il software di collaudo, tipicamente scritto in un linguaggio ad altissimo livello, può interagire con il software da collaudare in vari modi:
Qualunque sia la tecnica di comunicazione adottata, quando il software da collaudare risponde, il programma di collaudo confronta le risposte ottenute con i risultati attesi. In caso di discrepanza, viene generato un resoconto. La tecnica della registrazione delle operazioni dell'utente può essere attuata anche da un collaudatore che non sa programmare o che non conosce l'architettura interna del software da collaudare. Ha tuttavia due notevoli inconvenienti:
Questa tecnica è indicata per collaudi solo parzialmente automatizzati, in quanto è sempre necessario che il collaudatore verifichi visivamente se il software si comporta come dovrebbe. Solitamente, l'automazione del collaudo viene effettuata dopo aver sviluppato una procedura di collaudo manuale. L'introduzione della automazione nelle prove di collaudo è un processo costoso ed è da considerarsi una aggiunta e non una sostituzione del collaudo manuale. L'investimento può tuttavia fornire un ritorno economico nel lungo termine, sia in quanto consente di effettuare il collaudo di regressione a basso costo, sia in quanto consente la tecnica di sviluppo software detta "sviluppo guidato dal collaudo" (in inglese, "Test Driven Development"). Un settore di ricerca attivo è quello sulle generazione automatica dei requisiti di prova (test cases). Una tendenza crescente nello sviluppo del software è l'uso di architetture di collaudo automatizzato di modulo a scatola bianca della famiglia xUnit (che comprende JUnit e NUnit). Strumenti per automazione del collaudoBibliografia
|