L’importanza del testing nella quality assurance del software

L’importanza del testing nella quality assurance del software

Importanza del testing e Quality assurance

Ogni programmatore o sviluppatore di software, anche il più bravo, commette sempre degli errori, essi possono essere causati da vari motivi, tra i quali: disattenzioni, poca chiarezza nelle specifiche e scarsa conoscenza dell’ambiente o del linguaggio. Ovviamente è necessaria una maniera per accorgersi di questi errori, in modo da correggerli al più presto ed evitare perdite di tempo. Questo è ancora più importante in progetti di alto livello, dove anche un piccolo errore pùo portare ad un grande disservizio nella rete, impattando molteplici clienti.

Il testing software, quindi, è fondamentale in ogni progetto, dal più piccolo al più grande, e pùo arrivare ad occupare una gran quantità di tempo. Molto spesso, tuttavia, questo processo è sottovalutato dai programmatori, che non vogliono perdere tempo a scrivere codice “non operativo”. Questo accade soprattutto agli sviluppatori alle prime armi e a coloro che, durante il loro percorso di studi, non hanno avuto l’occasione di approfondire l’importanza di questo argomento.

Da dieci anni a questa parte il tema del testing ha avuto molta più visibilità in letteratura e sta venendo pian piano assimilato nei piani di studio delle università. In aggiunta, gli strumenti di testing a disposizione dei programmatori sono molto più potenti e facili da utilizzare, agevolando quindi la diffusione delle best practices riguardo alla verifica del codice.

Prima di procedere ulteriormente si da una definizione di “Software Testing”.

“Il software testing è un processo o una serie di processi creati in modo tale da verificare che il codice svolga il compito per cui è stato sviluppato e non svolga niente di non desiderato. Il software deve essere predicibile e consistente, e non deve offrire sorprese agli utenti”.

L'importanza del testing nella quality assurance del software

Testing nei vari modelli di sviluppo

Nei vari modelli e metodologie di sviluppo, la quality assurance del software e il testing non hanno sempre avuto lo stesso ruolo. Agli inizi dell’ingegneria del software, con l’approccio a cascata, i test venivano scritti e svolti solo dopo aver completato la fase di implementazione, ciò poteva provocare parecchi problemi, tra cui la difficoltà di correggere gli errori rapidamente, soprattutto nel caso in cui gli stessi mostrassero una mancanza nel design. L’approccio era quindi troppo rigido per essere cost-effective.

Ai giorni d’oggi, con l’Agile, il testing è presente in praticamente tutte le fasi del processo di sviluppo, in modo da cercare di assicurare la più alta correttezza del codice. L’importante in questo caso è l’automazione, in modo che gli sviluppatori non perdano tempo a effettuare lunghi test manuali e non deterministici, potendosi concentrare su altri compiti.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *