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