Software Testing

LA QUALITA’ DEL SOFTWARE

La qualità del softwareSpesso nella produzione industriale si fa riferimento alla parola qualità, senza però chiarire quale sia il significato di tale termine. Una definizione precisa di qualità è la seguente:

La qualità è il maggiore o minore grado di bontà di un prodotto naturale o industriale, laddove con bontà si intende quantificare quanto il prodotto sia adatto allo scopo per cui è stato fatto.

Un prodotto normalmente è classificato in base a delle proprietà fisiche ben conosciute, quali il peso, la lucentezza, la purezza, tutti fattori fisici legati alle conoscenze umane nel campo. Il prodotto software invece, essendo frutto del solo ingegno umano, mal si adatta a fornire parametri di classificazione, data la sua natura intangibile.

L’ingegneria del software ha fornito strumenti che rendono la classificazione della qualità del software più agevole ed univoca, al fine di individuare i punti nevralgici che caratterizzano le scelte nel campo della programmazione. Per questo motivo, recentemente sono stati standardizzati una serie di parametri per la valutazione di un prodotto che vengono verificati nella fase di testing che è l’ultima fase del ciclo di vita del software.

IL SOFTWARE TESTING

Il Software Testing

All’interno del ciclo di vita del software, le varie fasi di testing rappresentano un momento di verifica del processo produttivo. Esistono però diverse interpretazioni su come tale verifica debba essere svolta, soprattutto per ciò che riguarda gli obiettivi da raggiungere.

Il testing è quel processo di esecuzione di un programma (sistema) con l’obiettivo di ricercare il maggior numero di errori possibile. Il testing risulta dunque un processo di tipo distruttivo, in quanto tende a ricercare tutti gli errori commessi all’interno del software al contrario dello sviluppo che di per se rappresenta il processo costruttivo. Partendo quinfi dall’assunto che in ogni software esistono degli errori, ci troviamo di fronte alla necessità di ricercare delle metodologie, delle tecniche per affrontare al meglio tale ricerca, ottimizzando così le risorse impiegate nel testing e riducendo nel contempo i costi relativi al test.

Affinché la fase di testing riesca a raggiungere al meglio i suoi obiettivi, è necessario che tale processo non venga condotto in maniera casuale, guidato cioè solo dalla fantasia e dall’esperienza del test-engineer. Da qui nasce l’esigenza di definire sempre dei principi generali su cui una o più metodologie di testing debbano fare riferimento e attraverso cui verrà verificata la qualità del software da testare.

Per approfondire i temi principali del software testing ma anche altri argomenti ingegneristici è possibile rercarsi all’interno della sezione: Le mie pubblicazioni.

Lavecchia Vito