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