Una piramide per la qualità | Antreem
Vai al blog

Una piramide per la qualità

di lettura
Diego Sozio
thumbnail

Il collaudo del software o comunemente detto software testing rappresenta una fase fondamentale del ciclo di vita del software, in particolare nel modello Agile.
Infatti, il fine ultimo dei test è quello di verificare e individuare carenze di correttezza, completezza e affidabilità delle componenti software in corso di sviluppo.
Esistono però varie tipologie di testing, dalle più atomiche alle più distribuite, che possono essere suddivise in una struttura piramidale che perfettamente si presta alla descrizione dei vari tipi.

La base della piramide idealmente racchiude i test di più basso livello come il comportamento di una data label o bottone, fino ai test di carattere distribuito dove non vi è un singolo comportamento da testare ma piuttosto una serie di azioni che porteranno, come nel nostro caso, a un corretto utilizzo dell’applicativo.
Al vertice sono invece mappati i test di più alto livello cioè quelli più aderenti al concetto di design e per estensione look&feel.

Rappresentazione struttura piramide software testing

Unit Test

Analizzando i vari stadi piramidali troviamo quindi alla base i test unitari o Unit Test.
Questi prendono il nome di unitari perché hanno l’esatto scopo di verificare la singola e atomica funzionalità, come per esempio il singolo comportamento del bottone X.
Essendo l’unità minima descrivibile possono anche essere utilizzati come i mattoncini base, che composti tra loro, vanno a formare test più complessi. 

Integration Test

Salendo la struttura piramidale troviamo i test di integrazione o Integration Test.
Il loro scopo è verificare, a seguito di un rilascio, la corretta integrazione tra due o più unità già testate. In questa fase è fondamentale controllare che eventuali punti critici, presenti nei primi test, non si ripetano quando queste funzionalità si trovano a operare come un unico componente. Il QA possiede conoscenza di questi punti sensibili in base alla propria esperienza e know how sul progetto.

End-to-End Test

Allo step successivo troviamo dei test che invece hanno lo scopo di simulare il comportamento dell’utente e coprire più “scenari d’uso” possibili. Questi test prendono il nome di end-to-end o più comunemente noti come e2e, nome che deriva proprio da come questi scenari devono essere prodotti. Infatti mirano a descrivere, con l’utilizzo dei test unitari, una possibile interazione utente con il portale dallo step iniziale a quello finale. Questi particolari test sono largamente utilizzati e fondano la base del cosiddetto UAT (User Acceptance Testing), in cui si sottopone il prodotto sviluppato al cliente, che verifica la quasi totalità delle funzionalità e quindi autorizza il rilascio in produzione del software.

UI Test

Al vertice della struttura piramidale troviamo infine i test di layout e design, comunemente noti come UI Test (User Interface Test). Questi essendo di alto livello mirano a valutare il software sviluppato in termini di design e look&feel.
A differenza dei test precedentemente trattati questi possono avere varie granularità, si passa dalla mera verifica che tutti i componenti siano presenti e giustamente collocati, al più complesso scenario pixel perfect, dove si ricerca la perfezione al minimo livello di pixel. 

Conclusioni

Il ruolo del QA è quindi fondamentale per garantire un prodotto il più possibile privo di bug e conforme con i requisiti richiesti dal cliente.
In Antreem, tutti i progetti, con qualsiasi livello di complessità, godono di questa fase per garantire soluzioni efficaci e di qualità.

Diego Sozio
Scritto da
Diego Sozio
Analista e addetto qualità software, il gol della sua attività è il prodotto bug free. Sfrutta il tempo libero per giocare con la programmazione web e i vari linguaggi di programmazione OOP.