Differenza tra fase di codifica e test del software in informatica

Differenza tra fase di codifica e test del software in informatica

Codifica del software

Una volta che la progettazione del software è completata, le principali scelte tecniche sono state già prese. L’obiettivo di questa fase è quello di tradurre la struttura del sistema, definita nella fase precedente, in codice attraverso uno o più linguaggi di programmazione.

Data una precisa progettazione del software, tuttavia possono corrispondere diverse scritture di codice. Pertanto lo sviluppatore grazie alla sua esperienza deve cercare di implementare la struttura del sistema nel miglior modo possibile. Lo sviluppo incide sia sulla fase dei test che sulla fase di manutenzione. Ovviamente una specifica implementata con un codice ben scritto sarà più facile da testare e sarà meno impegnativa la fase di manutenzione. Poiché la fase dei test e di manutenzione hanno un impatto sul costo del software molto più alto della fase di sviluppo, l’obiettivo di questa fase dovrebbe essere quello di sviluppare programmi in cui si favorisce la semplicità e la chiarezza. In questo modo si favoriscono l’esecuzione delle fasi di test e di manutenzione.

È abbastanza comune da parte degli sviluppatori effettuare alcuni test prima di consegnare il software al team dei test per i test formali.

Differenza tra fase di codifica e test del software in informatica

 

Test del Software

Prima che un’applicazione viene rilasciata e messa a disposizione di chi ha commissionato il progetto, è necessario assicurarsi che l’applicazione software appena costruita lavori correttamente, ovvero che siano rispettati tutti i requisiti funzionali e non. Quando il software assume un comportamento che produce un risultato inaspettato e/o non conforme ai requisiti si dice che il software ha prodotto un errore.

L’obiettivo principale della fase di test è quello di individuare il maggior numero di errori il più presto possibile. Infatti maggiore sarà il numero di errori individuati in questa fase, minori saranno quelli individuati dai clienti durante i test di accettazione e dopo la consegna del prodotto. Oltre ad individuare il maggiore numero di errori, è indispensabile identificarli il più presto possibile, perché risolvere un errore ha un costo differente nelle differenti fasi. In particolare il costo di individuazione e risoluzione degli errori cresce esponenzialmente al progredire delle fasi di sviluppo.

Bisogna notare dunque che se l’errore viene individuato durante la fase di raccolta e specifica dei requisiti, risulterà piuttosto basso il costo per risolverlo. È necessario semplicemente riscrivere il requisito. Tuttavia se l’errore viene individuato durante la fase dei test o nella fase di manutenzione, il costo di risoluzione è molto più elevato perché oltre a dover rieseguire interamente il processo di sviluppo (analisi, progettazione, ecc.) è necessario studiare l’impatto che la risoluzione implementata ha su altre componenti del software per evitare di introdurre nuovi errori.

Sebbene la fase di test è utile per portare alla luce eventuali malfunzionamenti o errori è necessario comunque essere consapevoli dei suoi limiti. In particolare:

  1. La fase di test è utile per individuare errori o difetti del software, tuttavia la non rivelazione non implica la non esistenza. La fase di test non può individuare tutti gli errori;
  2. La fase di test non fornisce alcun aiuto quando è necessario prendere decisioni del tipo ‘Rilasciare il prodotto con errori per rispettare la scadenza’ o ‘Risolvere gli errori e tardare il rilascio del prodotto compromettendo il rispetto della scadenza’.

Classificazione dei Test

Nel maggior parte dei casi il software prima di poter essere consegnato al cliente deve superare 4 fasi di test che si svolgono ad un livello di dettaglio di progettazione differente partendo da quello con un livello di dettaglio più alto:

  • Test dei moduli o test di unità;
  • Test di integrazione;
  • Test di sistema;
  • Test di accettazione;

La fase ‘Test del software’ insieme allo stadio di lavorazione ‘Raccolta e specifica dei Requisiti’ risulta essere uno dei più importanti. È fondamentale che ciascuna fase dei test sia effettuata scrupolosamente in modo tale da evidenziare qualsiasi tipo di difetto. Maggiore sarà il numero dei difetti che saranno trovati in questa fase, minori saranno i difetti che saranno evidenziati dal cliente dopo che il software è stato consegnato.

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 *