L’importanza del testing nella realizzazione del Software

L’importanza del testing nella realizzazione del Software

Un’analisi attenta delle imperfezioni del codice e dei suoi scostamenti da quanto progettato è un passo essenziale per la realizzazione di un prodotto valido, funzionale, che soddisfi la clientela e non vanifichi l’attività di realizzazione del prodotto. Come andrebbero realmente le cose se la società distribuisse un prodotto senza prima verificarne la funzionalità e l’efficienza, dipende profondamente dalla tipologia del software, dalla sua complessità, dal pubblico finale e da altri fattori, ma nella quasi totalità dei casi la mancanza di test porta inevitabilmente ad un prodotto ancora “progetto”, non finito, ed incompleto. Realtà di questo tipo si sono sempre avute nella storia del commercio informatico: società mosse dal fervore di superare la concorrenza hanno finito per mandare in fumo oltre che risorse (denaro/uomini) anche credibilità acquisite in lunghi tempi.

L'importanza del testing nella realizzazione del Software
L’importanza del testing nella realizzazione del Software

Esempi opposti arrivano invece da aziende di “affidabilità” consolidata, che producono software per i quali ogni difetto potenziale costituisce una perdita d’immagine e di leadership di mercato: un facile esempio è quello del campo dei Data Base Management System, nel quale aziende come IBM o l’Oracle puntano su prodotti di qualità, rilasciando nuove release del prodotto, basandosi su un attento e lungo test. La ragione, in questo caso, è anche dettata dal fatto che prodotti come i DBMS vengono utilizzati per la gestione di grosse quantità di dati di imprese di vario genere, contenenti informazioni riservate, importanti e di alto valore economico: ogni perdita di dati costituisce una perdita pesante in termini di denaro che si ripercuote sull’impresa stessa.
Attualmente ogni processo produttivo (su vasta scala in maniera particolare) è dotato di una fase di analisi ben definita, alla quale molte società dedicano anche il 35 – 40% circa del tempo complessivo di realizzazione del prodotto. Il tempo di completamento del prodotto, dovrebbe poter essere rispettato al fine di soddisfare la clientela, e protratto solo a fronte di gravi anomalie che devono essere assolutamente risolte.

Infine, è importante capire qual è l’oggetto dell’attività di test: si tratta nella generalità dei casi, della ricerca di tutto ciò che costituisce una discrepanza tra quanto richiesto dal cliente e quanto realizzato. Questo perché, non sempre è possibile rispettare i requisiti fissati in progettazione, a causa di fattori per lo più implementativi. A questa analisi si aggiunge anche la ricerca di tutti quegli errori presenti nel prodotto che lo rendono non adatto ad un’immediata distribuzione: tali differenze debbono essere raccolte e comunicate agli sviluppatori che provvederanno ad una loro risoluzione. Nella realtà solo una parte dei problemi è costituita da errori; un’altra, invece, da problemi più gravi, non riconducibili ad anomalie o imprecisioni, quanto piuttosto a logiche contorte, impossibilità/difficoltà di adattamento ad ambienti ed evoluzioni, difficoltà di approccio ed utilizzo etc.. Fattori, tutti strettamente connessi alla qualità del prodotto. Il tester avrà il compito di individuarli, comunicarli ed eventualmente presentare suggerimenti per migliorare il prodotto, da qui l’importanza del testing nel ciclo di sviluppo del software.

Occorre premettere che il test non sarà in grado di individuare quegli errori quiescenti, che rimangono “nascosti” durante i test e che poi si manifestano quando il software viene utilizzato in particolari condizioni riproducibili dai soli utenti. In questo caso, solo gli utilizzatori finali potranno sostenerci in una completa analisi

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 *