Test del software

Transcript

Test del software
Facoltà di Scienze MM, FF, NN.
Corso di laurea : Informatica e T. P. S.
Tesi di laurea in Ingegneria del Software
Reingegnerizzazione del processo di test
nel contesto Exprivia
Relatore :
Prof. Giuseppe VISAGGIO
Tutor aziendale :
Graziano BELLIFEMINE
Laureando:
Michele TOTARO
Titolo Presentazione
IL PROGETTO DI RICERCA
Il lavoro di tesi è
stato svolto all’interno
dell’azienda
Exprivia
S.p.A.
EXPRIVIA S.p.A. è una società specializzata nella progettazione e
nello sviluppo di tecnologie software innovative e nella prestazione
di servizi IT per il mercato bancario, medicale, industriale, delle
telecomunicazioni e della Pubblica Amministrazione.
2
Titolo Presentazione
SCENARIO DI RIFERIMENTO
 Il Test del software è una delle fasi più
critiche nella produzione del software;
Gli attuali processi di test risultano:



Onerosi, poiché richiedono risorse rilevanti;
Troppo generali, risultando così poco operativi
Scarsamente automatizzati, richiedendo
tempi elevati di esecuzione e costi notevoli.
 Questo ne determina il mancato utilizzo o
una gestione non ottimizzata da parte delle
aziende.
3
Titolo Presentazione
OBIETTIVO DELLA TESI
 Definire e formalizzare un processo di test
sostenibile, ovvero:

Operativo

Flessibile

Efficiente
 Strumentare il processo proposto;
 Validarlo in un caso d’utilizzo reale.
4
Titolo Presentazione
ANALISI “AS IS” NEL CONTESTO EXPRIVIA
CRITICITA’:
•
•
•
•
•
•
Non è presente una pianificazione dei test
Nessuna Tracciabilità Req. / casi di test / bugs
Nessun Monitoraggio, Controllo, Reporting
Esecuzione manuale dei casi di test
Nessuna gestione dei difetti
Difficoltà di comunicazione tra il team
5
Titolo Presentazione
SOLUZIONE PROPOSTA
6
Titolo Presentazione
STRUMENTI A SUPPORTO DEL TEST…
E’ stata condotta una ricerca esplorativa nella comunità
OS volta all’individuazione dei tool a supporto del test;
Sono stati selezionati, complessivamente, 19 tool;
Questi sono stati successivamente valutati in accordo ai
seguenti criteri tenendo altresì conto delle fasi incluse nel
processo proposto:
•
•
•
•
•
•
•
•
N° di download
Data ultima versione
Architettura di riferimento
Supporto alla Tracciabilità Req. / Casi di test / Bugs
Supporto alla Progettazione e Pianificazione dei test
Supporto alla Esecuzione Test
Supporto alla Gestione difetti
Supporto al Monitoraggio e reportistica dei test
7
Titolo Presentazione
… STRUMENTI A SUPPORTO DEL TEST
A valle della valutazione comparatativa la
scelta è ricaduta sui seguenti tool:
• Testlink: applicazione web utilizzata per la
pianificazione, progettazione dei casi di test e
monitoraggio del processo di test.
• Selenium: addon di Firefox utilizzato per
l’esecuzione automatica dei test;
• Mantis: applicazione web utilizzata per la gestione
dei difetti.
Questi sono stati opportunamente integrati al
fine di supportare propriamente il processo
proposto.
8
Titolo Presentazione
AUTOMAZIONE DEL PROCESSO
Tools
TESTLINK
SELENIUM
MANTIS
Fasi
Preparazione e sviluppo
dei test
X
Pianificazione dei test
X
Esecuzione dei test
X
Monitoraggio e
reportistica dei test
X
Gestione dei difetti
X
X
9
Titolo Presentazione
PIANIFICAZIONE E PROGETTAZIONE TEST
VANTAGGI:
• Monitoraggio sullo stato di avanzamento del test
• Tracciabilità tra req / casi di test / bugs
• Riduzione dei casi di test e dei difetti ridondanti
10
Titolo Presentazione
ESECUZIONE AUTOMATICA - SELENIUM
VANTAGGI:
• Riduzione dei tempi e dei costi di esecuzione
• Riduzione degli errori introdotti nell’esecuzione manuale
11
Titolo Presentazione
GESTIONE DEI DIFETTI - MANTIS
VANTAGGI:
• Monitoraggio completo sulla gestione dei difetti
• Comunicazione efficace tra team di sviluppo e team di test
12
Titolo Presentazione
MONITORAGGIO, CONTROLLO, REPORTING …
Attraverso il tool Testlink è possibile monitorare lo stato di
avanzamento del processo di test in termini di:
• Casi di Test eseguiti
• Stato dei casi di test
Per ogni componente del team viene mostrato anche il numero
di casi di test ad esso associati con il numero e la percentuale
dei casi di test non eseguiti e quelli eseguiti con il relativo stato:
13
Titolo Presentazione
… MONITORAGGIO, CONTROLLO, REPORTING
Sempre attraverso l’utilizzo di Testlink è possibile verificare
per ogni requisito funzionale lo stato dei casi di test ad essi
associato:
Inoltre è possibile visualizzare per ogni caso di test i
relativi bugs associati:
I bugs sono gestiti con Mantis attraverso un’integrazione
tra Testlink e Mantis.
14
Titolo Presentazione
… MONITORAGGIO, CONTROLLO, REPORTING
Testlink permette di visualizzare lo stato di avanzamento
del processo di test anche attraverso grafici:
15
Titolo Presentazione
… MONITORAGGIO, CONTROLLO, REPORTING
In questo grafico sono mostrati alcuni componenti del team
di test e il numero dei casi di test da loro eseguiti:
16
Titolo Presentazione
… MONITORAGGIO, CONTROLLO, REPORTING
Attraverso Mantis è possibile monitorare lo stato dei difetti
rilevati durante l’esecuzione:
17
Titolo Presentazione
PROBLEMI RISOLTI
Problemi
Strumenti
Testlink
Selenium
Mantis
Pianificazione e Progettazione
x
Tracciabilità req–casi di test-bugs
x
x
Monitoraggio, controllo, reporting
x
x
Esecuzione casi di test
x
Gestione dei difetti
x
Comunicazione tra il team
x
18
x
Titolo Presentazione
SPERIMENTAZIONE
La sperimentazione è stata condotta su un caso aziendale dove vi
era inizialmente un’esecuzione manuale dei test di regressione. A
fronte dell’utilizzo del nuovo modello di test e degli strumenti a
supporto si è verificata, nell’esecuzione dei successivi test di
regressione, una riduzione notevole dei tempi impiegati.
Come si evince nel
grafico l’esecuzione
dei casi di test
manuali richiedeva
circa
4
giorni
lavorativi mentre nel
nuovo processo di
test i tempi si sono
ridotti notevolmente
arrivando
ad
1
giorno.
19
Titolo Presentazione
CONCLUSIONI
A fronte del lavoro di tesi il processo di test è stato
reingegnerizzato attraverso il modello proposto e gli
strumenti a supporto del processo di test
permettendo:
 Di ridurre i tempi di esecuzione;
 Di ridurre i costi del processo di testing;
 Migliorare la comunicazione tra il team di testing
e il team di sviluppo dislocato nelle varie sedi
aziendali;
20
Titolo Presentazione
GRAZIE PER L’ATTENZIONE
Non ho paura dei computer,
ma della loro eventuale mancanza.
Isaac Asimov
21