Tipologie di testing software: Il Test strutturale e comportamentale

Tipologie di testing software: Il Test strutturale e comportamentale

In questo articolo sul testing software andremo a concentrare la nostra attenzione sia sulla struttura dell’applicazione che sul suo comportamento; esistono a tal proposito due approcci di notevole interesse come il testing strutturale e comportamentale; il primo è connesso alla tecnica White-Box, il secondo al Black-Box. Il testing strutturale può essere formalmente definito come: “Un’attività di test in grado di confermare che l’attuale struttura dell’applicazione corrisponda a quanto progettato”

Il test comportamentale, viene invece solitamente indicato come: “Un’attività di test in grado di confermare che il comportamento dell’applicazione corrisponde a quanto progettato.”

Tipologie di testing software: Il Test strutturale e comportamentale

La relazione tra le due tipologie di test è dunque molto sottile: una concentra la propria attenzione sulla struttura, l’altra sul comportamento; ciò che le accomuna è che entrambe verificano che l’oggetto del test, corrisponda alle specifiche progettuali. Ogni diversità, è chiaro segno di una anomalia, ma non è detto che questa rappresenti un errore; può infatti darsi che successive modifiche al codice sorgente, necessarie per la risoluzione dei bug abbiano portato ad una qualche modifica della struttura del programma: situazione rara, estrema e comunque evitabile, dal momento che comporta una modifica anche nei test-case ed un attento esame nel qual caso si stia svolgendo un test regressivo.

Comportamento e struttura sono due obbiettivi in contrasto? Distinguere il comportamento del programma dalla sua struttura è un passo importante nell’attività di testing. Infatti:

  • Il comportamento fissa la sua attenzione sulle attività che il sistema svolge per soddisfare le nostre esigenze (tecnica Black-Box)
  • La struttura esamina invece la composizione interna del sistema e la sua organizzazione (tecnica White-Box)

Il nostro obiettivo è di produrre una struttura che abbia un comportamento desiderabile. I due aspetti, comportamento e struttura sono fortemente legati tra loro ma non in conflitto. Il piano di test sarà differente nei due casi: un test strutturale richiederà di realizzare una serie di test che validino la struttura del programma (per esempio, nel caso di applicazioni web, occorrerà verificare la struttura del documento, la composizione delle pagine, la raggiungibilità dei link etc.); un test comportamentale si colloca invece in una posizione più vicina all’utente, quindi i test-case saranno più semplici (per esempio, sarà sufficiente testare le funzionalità a cui solitamente fa riferimento l’utente, senza analizzare la struttura interna o la modularità del sistema), maggiormente vicini al modo di pensare e di comportarsi dell’utenza finale. Per questo, l’analisi potrà essere legata ai soli aspetti esterni ed elementari dell’applicazione, ottenendo così dei test semplici ma anche poco accurati e spesso incompleti.

Pubblicato da Vito Lavecchia

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

Lascia un commento

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