Test e collaudo del software Continuous Integration and Testing



Похожие документы
DRUPAL CONTINUOUS INTEGRATION. Parte I - Introduzione

La strada per sviluppare più rapidamente: Unit Test & Continuous Integration

Strumenti di gestione del ciclo di vita del software

Eclipse e Subversion

Reingegnerizzazione del processo di test nel contesto Exprivia

[Sistemi sw di collaborazione] in ambito open source

In legenda sono riportate le fasi R, P, C/T e I/SA come specificato nella norma ISO/IEC

Configuration Management

Metodologie Agili per lo sviluppo di applicazioni Internet Distribuite. Agile Group DIEE, Università di Cagliari

Domenico Ercolani Come gestire la sicurezza delle applicazioni web

lem logic enterprise manager

NCP Networking Competence Provider Srl Sede legale: Via di Porta Pertusa, Roma Tel: , Fax:

Il modello di ottimizzazione SAM

IBM UrbanCode Deploy Live Demo

Programmazione Java Avanzata

Rational Unified Process Introduzione

Bank Wizard. Convalida completa delle coordinate di conto corrente

CP Customer Portal. Sistema di gestione ticket unificato

Ciclo di vita del progetto

Attività federale di marketing

Allegato 3 al Disciplinare di Gara Criteri di Aggiudicazione

"FONDAMENTI DI PROJECT MANAGEMENT" Cagliari 16 Maggio 2015 Dalle ore 14:00 alle ore 19:00

UNA SOLUZIONE PER IL PERFORMANCE MANAGEMENT

GUIDA AL CALCOLO DEI COSTI DELLE ATTIVITA DI RICERCA DOCUMENTALE

1- Corso di IT Strategy

IL PLM (Product Lifecycle Management) Dalla produzione alla vendita attraverso la gestione documentale

L affido riguarda la realizzazione delle attività di evoluzione e manutenzione software delle applicazioni indicate.

Collaudo e qualità del software Quali test eseguire

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata.

Project Management. Modulo: Introduzione. prof. ing. Guido Guizzi

MSFT SAM Certified

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Ciclo di vita dimensionale

IL PARTNER IDEALE. Consulenza IT & Soluzioni HR

SysAround S.r.l. L'efficacia delle vendite è l elemento centrale per favorire la crescita complessiva dell azienda.

Gestione Iter Manuale Sistemista. Gestione Iter Manuale Sistemista

Il dilemma del test: Manuale o Automatico? Fabio Milanese Sales Account Manager Borland Solutions Micro Focus Italy

Ristrutturazione e riconversione vigneti

Aris TimeSheet. che guardano oltre. enti e aziende. Soluzioni per

Introduzione alla Virtualizzazione

PrometeoQualità. Manuale Documenti

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

Università di Venezia Corso di Laurea in Informatica. Marco Fusaro KPMG S.p.A.

Creazione di una Azure Web App

I I SISTEMI INFORMATIVI INTEGRATI. Baan IV IV - Enterprise e Orgware NOTE

Strumenti per la gestione della configurazione del software

Incentive & La soluzione per informatizzare e gestire il processo di. Performance Management

Ristrutturazione e riconversione vigneti

Il Business Process Management nella PA: migliorare la relazione con i cittadini ed ottimizzare i processi interni. A cura di Bernardo Puccetti

Programmazione Java Avanzata

EVMS (Earned Value Management System) impatti organizzativi della sua implementazione CARLO GAVAZZI SPACE

1. Introduzione agli ERP e a SAP

Ciclo di vita del software

VULNERABILITY ASSESSMENT E PENETRATION TEST

Development & Assessment Tools

RES USER MEETING. L automazione del ciclo di vita dei JCL

OCS Open Control System

Tesi di Laurea Automazione del testing delle Interfacce utente di applicazioni WEB:

MODULO PER LA GESTIONE DEI RESI

UML e (R)UP (an overview)

IL PROCESSO DI FABBRICAZIONE (sviluppo nuovo prodotto)

PROXYMA Contrà San Silvestro, Vicenza Tel Fax

PERFORMANCE FRAMEWORK, RESERVE E REVIEW NELLA PROGRAMMAZIONE ROMA, 25 FEBBRAIO 2014 (update 14 APRILE 2014)

PROJECT MANAGEMENT SERVIZI DI PROJECT MANAGEMENT DI ELEVATA PROFESSIONALITÀ

Analisi e catalogazione automatica dei Curriculum Vitae

GESTIONE DEI VASI VINARI.

SWPL. software di gestione dei controlli periodici degli impianti P.L.

SURVEY DI itsmf SULLO STATO DELL IT SERVICE MANAGEMENT IN ITALIA Sintesi a cura di Francesco Castellana, consultant HSPI

Integrazione dei processi aziendali Sistemi ERP e CRM. Alice Pavarani

Introduzione al Cloud Computing

Valorizzazione della professionalità di SW Quality Assurance

sistema gestionale analisi gestione centralizzata cespiti dati ricevimento e gestione nuovi cespiti rilevazione cespiti esistenti collocazione cespite

NOVITA VERSIONE La soluzione CAD/CAM per il cablaggio elettrico

ALLEGATO 8.1 DESCRIZIONE PROFILI PROFESSIONALI

Il percorso delle aziende italiane verso l IT Governance. Rossella Macinante Practice Leader

Ambienti per lo sviluppo collaborativo del software (CDE)

Fare Efficienza Energetica attraverso l automazione degli edifici

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda

PROCESSI PRODUTTIVI E LOGISTICA I.T.S.T J.F. KENNEDY - PN

Gestione in qualità degli strumenti di misura

Sommario 1 Introduzione progetto Integrazione GUI HL Conclusioni... 13

ILSISTEMA INTEGRATO DI PRODUZIONE E MANUTENZIONE

Tecnologie dell informazione e della comunicazione per le aziende

Piano di gestione della qualità

iproject Gestione e Controllo Costi Cantiere iproject

Транскрипт:

Test e collaudo del software Continuous Integration and Testing Relatore Felice Del Mauro Roma,

Cosa è la Continuous Integration A software development practice where members of a team integrate their work frequently, usually each person integrates at least daily, leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible (Martin Fowler) 2

In un processo di test tradizionale Il test è eseguito alla fine dello sviluppo è soprattutto di sistema è essenzialmente manuale 3

In un processo di CI Il test viene anticipato alla fase di sviluppo è soprattutto automatico è ripetuto frequentemente ed inserito in un processo di build 4

I passi del ciclo Sviluppatore 1. Commit Project Manager 4. Generazione Feedback 3. Build 2. Poll 5. Deployment 1. Commit Subversion Version Control Repository Continuous Integration Server System Test Server Sviluppatore 1. Commit Script di Build Compilazione Esecuzione test Analisi qualità Deploy Sviluppatore Codifica e Build locali System Tester System Tester 1. Uno sviluppatore promuove il suo codice nel Repository di Controllo delle Versioni 2. Il server CI, in polling sul repository, scopre un cambiamento 3. Il server CI estrae l ultima copia del codice ed esegue lo script di build che integra il software; 4. Il server CI genera una mail di feedback sui risultati e la invia ai responsabili; 5. Se ci sono le condizioni, il server CI effettua il deploy nell ambiente di test di sistema e continua il polling. 5

Esempi di tools a supporto della CI Gestione della Configurazione Server di Integrazione Tools di Build Test automatico (Unitario, Integrazione e Funzionale) Subversion Concurrent Versions System (CVS) CruiseControl Hudson ANT Maven JUnit (test unitario classi Java) DBUnit (test database) FEST (test GUI Java Swing) Selenium (test Web Applications) http://subversion.tigris.org/ http://www.cvshome.org http://cruisecontrol.sourceforge.net/ http://hudson-ci.org/ http://ant.apache.org/ http://maven.apache.org/ www.junit.org www.dbunit.org http://code.google.com/p/fest/ http://seleniumhq.org/ Sono Open Source I più diffusi sono Java Oriented Non sono tutti specifici della CI (come la Gestione della Configurazione o gli strumenti di Build) 6

Ambiti di applicazione ideali Applicazioni in Sviluppo Codifica e test unitario Test di Integrazione Test di Sistema Applicazioni in Manutenzione Test Confermativi Test di regressione 7

Benefici derivanti dall adozione della CI Riduzione dei rischi Le anomalie sono individuate e corrette fin dalle prima fasi della realizzazione in quanto i test sono eseguiti numerose volte e la probabilità di scoperta degli errori è elevata Riduzione dei processi manuali ripetitivi; La riduzione dei processi ripetitivi induce una riduzione dell impegno effettivo (effort) facendo risparmiare tempo e costi; il tutto con un effetto positivo anche sul morale degli sviluppatori che pos-sono dedicarsi a compiti più professionali e di valore aggiunto Miglioramento della visibilità dello stato del progetto. La CI fornisce una maggiore visibilità dello stato del progetto attraverso una informativa oggettiva, dettagliata ed in tempo reale. Un sistema di CI può fornire metriche di qualità che riducono l incertezza nelle valutazioni ed aiutano nel prendere le decisioni durante la realizzazione del sistema. 8

Costi derivanti dall adozione della CI Sovraccarico del lavoro di automazione La CI si basa sull automazione dei test di integrazione. L attività più onerosa per il progetto è la codifica ed il mantenimento dei programmi di test; superato questo ostacolo, l introduzione del server di CI ha un impatto trascurabile Strumenti per il test automatico non diffusi e non multipiattaforma Gli ambienti tecnologici di realizzazione delle applicazioni software sono molteplici ed estremamente eterogenei e soprattutto per le suite integrate, ad esempio applicativi di Office Automation o le suite di Business Intelligence, non non sono disponibili strumenti per il test automatico a basso costo o addirittura open source come per le tecnologie java Cambiamento organizzativo e metodologico Le pratiche implicate dalla CI, come ad esempio il refactoring o il Test Driven Development, hanno un grande impatto sul modo tradizionale di lavorare e possono disorientare in quanto si scontrano con abitudini ormai consolidate, per cui è necessaria della formazione 9

Strategie di introduzione della CI Introduzione graduale ed incrementale Il primo passo può essere il build automatico periodico (ad esempio settimanale o giornaliero). I passi successivi possono essere l automazione di alcuni test con un aumento della frequenza di build, fino a raggiungere l integrazione continua Facilitate le Aziende di Prodotto rispetto ai System Integrator I System Integrator, a differenza delle aziende di prodotto, operano su più progetti che adottano tecnologie diverse per le quali è più difficile trovare un tool multipiattaforma Ciclo di Maturazione Analogia con il modello TMMi (Foundation, 2009) e l obiettivo è il livello 3: testing is no longer a phase that follows coding. It is fully integrated into the development lifecycle and the associated milestones 10

Grazie per l attenzione Relatore Felice Del Mauro, Responsabile tecnico istream f.delmauro@istreamzone.it www.istreamzone.it 11