Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
Studio e realizzazione di un tool
per l’automatizzazione dei test di un sistema software distribuito
tesi di laurea
Studio e realizzazione di un tool per l’automatizzazione dei test di un sistema software distribuito
Anno Accademico 2006/2007
relatore
Ch.mo Ing. Massimo Ficco
correlatore
Ch.mo Ing. Roberto Pietrantuono
candidato
Gianpiero Capuozzo
Matr. 534/001500
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
Studio e realizzazione di un tool
per l’automatizzazione dei test di un sistema software distribuito
Obiettivo Tesi
Sviluppo di un tool per l’ottimizzazione dei test
di validazione di Cardamom
Contesto
Il seguente lavoro di tesi nasce dalla
collaborazione tra CINI, DIS-UNINA, SELEX-SI,
SESM.
Safety and mission critical system
DEFINIZIONI:
• Safety-critical: sistemi il cui fallimento
(failure) può causare ferimenti, perdite di
vita, o seri danni ambientali
• Mission-critical: sistemi il cui fallimento
(failure) può causare il fallimento di attività
guidate da obiettivo
REQUISITI PRINCIPALI:
• sicurezza dei dati
• scalabilità delle prestazioni
• alti livelli di tolleranza ai guasti
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
Studio e realizzazione di un tool
per l’automatizzazione dei test di un sistema software distribuito
Cardamom
• Si propone quale piattaforma middleware per lo sviluppo di applicazioni in
ambiente distribuito che gode delle seguenti proprietà:
- è un middleware Corba-based;
- è un sistema safety critical;
- è un sistema mission critical.
• Segue un modello di
sviluppo detto a V.
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
Studio e realizzazione di un tool
per l’automatizzazione dei test di un sistema software distribuito
Test di Validazione di Cardamom
• Verifica che un modulo CSCI soddisfi completamente i requisiti CSC stabiliti nel relativo
documento delle specifiche di progetto;
• I moduli CSCI sono 11: CMC, CMD, XMS, TMG, RPS, LFC, FDS, COG, EVT, SMG, FLT;
• La procedura di esecuzione varia in modo significativo per ogni singolo modulo CSCI;
• È composto da due fasi:
 preparazione e avvio del test: a cura di un operatore;
 esecuzione vera e propria: a cura della macchina.
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
Studio e realizzazione di un tool
per l’automatizzazione dei test di un sistema software distribuito
Preparazione e avvio di un test di Validazione
PROBLEMA
Sequence diagram
• È un operazione lunga:
occorrono circa 20 minuti.
• È un operazione
macchinosa e complessa.
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
Studio e realizzazione di un tool
per l’automatizzazione dei test di un sistema software distribuito
Preparazione e avvio di un test di Validazione
SOLUZIONE (1/2)
1.
Individuazione di un pattern procedurale per il 66% dei test, valido per i
seguenti moduli CSCI: CMC, CMD, XMS, RPS, LFC, FDS.
Il pattern coinvolge 2 macchine ( “hosts” ) ed è composto da 4 fasi sequenziali:
1. configurazione dell’ambiente;
2. preparazione dell’ambiente;
3. avvio dei demoni;
4. avvio del test.
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
Studio e realizzazione di un tool
per l’automatizzazione dei test di un sistema software distribuito
Preparazione e avvio di un test di Validazione
SOLUZIONE (2/2)
2.
Sviluppo di un tool per l’automatizzazione dei test di validazione di C.
Class diagram
COMPITO DEL TOOL:
Eseguire automaticamente, mediante
interfaccia grafica, tutta la fase di
preparazione e di avvio dei test
individuati dal pattern.
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
Studio e realizzazione di un tool
per l’automatizzazione dei test di un sistema software distribuito
Tool per l’automatizzazione dei test di validazione di C.
ESECUZIONE DI UN TEST:
- rispettare pre-requisiti;
- inserire input;
- cliccare su “Esegui Test”.
OBIETTIVI RAGGIUNTI:
- semplificazione delle operazioni;
- riduzione del tempo a 2 minuti.
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
Studio e realizzazione di un tool
per l’automatizzazione dei test di un sistema software distribuito
Conclusioni
Lo sviluppo di un tool per l’ottimizzazione dei test di validazione di C. :
1. minimizza il tempo di esecuzione di un test ( da 20 minuti a 2 minuti );
2. semplifica notevolmente la procedura di preparazione e di avvio.
PRIMA
Sequence diagram
DOPO
Scarica

2. Sviluppo di un tool per l`automatizzazione dei test di validazione