Differenza tra Top-Down, Bottom-Up, Big-Bang, Sandwich nel SIT 

Differenza tra Top-Down, Bottom-Up, Big-Bang, Sandwich nel SIT

Testing System Integration (TSI)

Testing System Integration detto anche SIT è un processo di testing del software ad alto livello che permette di verificare che tutti i sistemi connessi riescano a mantenere l’integrità dei dati e possono operare in coordinamento con altri sistemi nello stesso ambiente. il processo di test garantisce che tutti i sotto-componenti siano integrati con successo in modo da fornire i risultati attesi.

I prodotti software, anche quando si presentano all’utente finale come un tutto unico, sono in realtà dei sistemi complessi costituiti da più componenti integrati e cooperanti. Le tecniche di testing si adeguano e, insieme, traggono vantaggio da questa organizzazione comune a tutti i sistemi software. Esistendo già una decomposizione in elementi più semplici, risulta naturale applicare il testing già a partire dai singoli componenti e quindi arrivare al test dell’intero sistema seguendo strategie di integrazione dettate dall’architettura.

Differenza tra Top-Down, Bottom-Up, Big-Bang, Sandwich nel SIT

Metodi di Integrazione

Per garantire un buona omogeneità nell’integrazione dei vari sotto-componenti bisogna partire impostando il sistema in modo da aver una struttura organizzata gerarchicamente, per fare ciò le integrazione fra i vari componenti possono essere realizzate con diversi tipi di approccio:

Top-Down

Il modulo radice dell’albero viene controllato singolarmente, quindi si integrano alla radice i moduli figli e si scende nell’albero eseguendo un nuovo livello di controlli. Il procedimento si ripete fino all’integrazione completa del sistema. È interessante notare che ad ogni livello si ripete sempre la stessa serie di controlli, dato che l’interfaccia del modulo radice è sempre la stessa. Per eseguire l’integrazione seguendo questa strategia sono necessari solamente stub, la cui realizzazione però, in particolare ai primi livelli, può risultare onerosa per la grande quantità e complessità delle funzionalità da simulare.

Bottom-Up

Tutti i moduli che non dipendono da altri moduli sono controllati singolarmente. Quindi si integrano i moduli controllati e si sale nell’albero eseguendo un nuovo livello di controlli. Il procedimento si ripete fino a raggiungere il modulo radice. Una caratteristica di questa strategia è che per eseguire i test ai vari livelli sono necessari solamente driver.

Big-Bang

È in realtà il nome con cui è identificata l’assenza di una strategia: tutti i moduli sono controllati singolarmente, l’integrazione avviene in un solo passo e si procede direttamente ai controlli di sistema. Oltre a soffrire di tutti i difetti discussi per evidenziare la necessità di una strategia d?integrazione, è anche un approccio costoso. Se infatti il controllo dei moduli è effettuato rigorosamente il costo è proporzionale al numero di moduli (per ogni modulo è necessario costruire una coppia driver-stub opportuna). Risulta quindi una via percorribile solo in caso di sistemi di ridotte dimensioni.

Sandwich

È, di fatto, la strategia più usata nella pratica dello sviluppo software. Consiste nell’adottare contemporaneamente entrambe le strategie Bottom-Up e Top-Down con l’obiettivo di minimizzare i costi per la realizzazione di stub e driver. La linea di demarcazione, corrispondente al livello di simulazione eliminato, non necessariamente coincide con un livello dell’albero: in generale sarà una spezzata, che tocca più livelli, costruita per ottimizzare il rapporto costi/benefici dei controlli in dipendenza delle caratteristiche del sistema in esame.

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 *