Verifica e validazione: introduzione

Documenti analoghi
IS Corso di Ingegneria del Software 1

IS Corso di Ingegneria del Software 1

IS Corso di Ingegneria del Software 1

IS Corso di Ingegneria del Software 1

Gestione dello sviluppo software Modelli Base

Analisi dei requisiti

REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA

Gestione di progetto. Cosa è un progetto? Gestione di progetto. Fondamenti di gestione. Criticità

Il ciclo di vita del SW

MANUALE DELLA QUALITÀ Pag. 1 di 9

Introduzione al Calcolo Scientifico

Ministero dell Istruzione, dell Università e della Ricerca. Servizio di collaudo

Piano di Testing. Fontolan Federico Giacomazzi Andrea Yoshida Kotono Rosada Fabio

Gestione di progetto. Cosa è un progetto? Gestione di progetto. Fondamenti di gestione. Ruoli

APPALTI PUBBLICI LA PROGETTAZIONE DEI LAVORI E LA VALIDAZIONE DEL PROGETTO

Gestione di progetto. Gestione di progetto. Fondamenti di gestione. Cosa è un progetto? Ruoli

SIA - Società Italiana Avionica S.p.A. Fasi del ciclo di vita Fase 4 Requisiti del sistema. SIA, settembre 2005

IS Corso di Ingegneria del Software 1

14. Verifica e Validazione

4. Qualità. un concetto molte sfaccettature. Andrea Polini. Ingegneria del Software Corso di Laurea in Informatica

UNIFICA - A.S.P.Energia STRUMENTI NORMATIVI PER LA GESTIONE SOSTENIBILE DEI PROCESSI EDILIZI

Piano di gestione della qualità

SCD IS. Verifica e validazione: analisi statica. Verifica e validazione: analisi statica. Premessa 1

13. Verifica e Validazione del Software

Il ciclo di vita del SW

Il nuovo riuso. L Innovazione in Campania

Sviluppo di un'interfaccia grafica per l'automatizzazione di campagne di software fault injection. relatore Ch.mo prof.

Corso di Ingegneria del Software. Modelli di produzione del software

Introduzione. Fondamenti di Informatica 1. Dispensa 1 Gennaio Contenuti. Alfonso Miola. K Corso di Fondamenti di Informatica 1

Giovanni A. Cignoni 1

Correzione degli errori

Verifica e Validazione del Software

Verifica e Validazione del Software

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:

Lo sviluppo del progetto informatico

Analisi e specifica dei requisiti

CAPITOLO M PROGRAMMA DI QUALITÀ E CONTROLLO

Fasi di revisione del progetto

seguire per assicurare la sicurezza durante tutte le fasi del progetto di impianti industriali di processo a rischio di

SISTEMI DI GESTIONE PER LA QUALITA (SGQ)

2131 Specialisti in informatica 2132 Programmatori informatici Informatici e telematici Tecnici informatici

SISTEMA DI GESTIONE QUALITÀ PER I LABORATORI DI ANALISI SENSORIALE DELL'OLIO DI OLIVA VERGINE - CHECKLIST

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A6_3 V2.1. Gestione

VERIFICA DI PROGETTO AI FINI DELLA VALIDAZIONE

Qualità dei processi software

REGIONE PUGLIA P.O.R. PUGLIA Misura 1.5 Azione 1 - Costruzione del Sistema Informativo Pugliese dell Ambiente (SIPA )

Ingegneria del Software

Verifica e validazione della qualità del sw

Macchine Astratte. Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari. Linguaggi di Programmazione feb, 2016

EDIFICIO, PERSONE E IMPIANTI

Correttezza (prima parte)

SCD IS. Processi SW. Processi Software. UniPD Ingegneria del Software mod. A 1. Parole chiave 3. Parole chiave 4. Modelli di ciclo di vita

Acquisizione di prodotti e servizi Parte 2

PROCEDURA AUDIT INTERNI

IL MANUALE DI GESTIONE

Modelli di processo. Marina Zanella - Ingegneria del Software Processo 1

L'importanza dell'usabilità per i siti Web della PA: rischi e strumenti a supporto della valutazione

Tutti i diritti riservati - AODV via Gabrio Casati, Milano

Qualità delle app per e-gov: i test di usabilità

QUALITA Qualità Capacità che ha un prodotto o un servizio di soddisfare le esigenze espresse o implicite del cliente gestendo nell'ottica del

Materiale didattico. Sommario

4.10 PROVE, CONTROLLI E COLLAUDI

Qualità del processo. Qualità del processo. IS Corso di Ingegneria del Software 1. Contenuti. Qualità di processo. Dal prodotto al processo

Comune Fabriano. Protocollo Generale, Servizio Progettazione, Servizio Edilizia Privata. Progetto di Certificazione secondo le norme ISO 9000

3. Ciclo di Vita e Processi di Sviluppo

OGGETTO: Costi Attivazione Servizio PEC (Posta Elettonica Certificata)

Qualità del software. Qualità del software. IS Corso di Ingegneria del Software 1. Contenuti. Qualità: una definizione.

La sicurezza nel cantiere edile alla luce del D. Lgs 106/09 di modifica al T.U.

Introduzione all Ingegneria del Software

Stato dell arte sulle tecniche di testing di Sistemi Embedded

mini-hta delle Tecnologie

Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione

Obblighi di controllo dei Fornitori esterni. EUDA Applicazioni sviluppate dall utente finale

Programmazione Orientata agli Oggetti in Linguaggio Java

IL PROCESSO di PROGETTAZIONE

QUESTIONARIO 2: PIANIFICAZIONE DEL MIGLIORAMENTO

mini-hta delle Tecnologie

Collaudo del software

INGEGNERIA DEL SOFTWARE

Concetti generali e introduzione alla norma UNI EN ISO 9001/2008

Introduzione. Sommario. Il software. Definizione di Ingegneria del software

Opportunità e nuovi Modelli di Business per la Piccola e Media Impresa

SCHEDA FORNITORE. Distributore Entrambi Su commessa Servizi. (Provincia) (Fax) (Provincia) (Fax) Qualifica. Indice di revisione; data revisione

L evoluzione normativa dei sistemi di comando

Informatica 3. Informatica 3. Lezione 1- Modulo 1. LEZIONE 1: Introduzione. Concetti di linguaggi di programmazione. Introduzione

Virtualizzazione Infrastrutture ICT. A chi è rivolto. Vantaggi per il Cliente. Perchè Luganet. Partner Commerciale

S. Riotta Resp. Operational Performance Optimization Generazione Italia. Milano, 25/06/2015

Nuova strategia per la revisione dei gruppi di rincalzatura e proposte di upgrade delle macchine. Seminario CIFI Bologna

Esempi di errori/difetti. algoritmi sintassi calcolo e precisione documento stress capacità ricovery sistema hardware e software standard e procedure

Cosa è un programma. Informatica di Base -- R.Gaeta 18

Nuova Piattaforma SUAPER

Obblighi di controllo dei Fornitori esterni. Rischio tecnologico

ALLEGATO N. 2. mini-hta delle Tecnologie

Sicurezza di sistema. Sicurezza: definizioni - 2. Sicurezza: definizioni - 1. Livelli di criticità - 1. Sicurezza: definizioni - 3

PROGETTARE PROGETTARE. Rev. Data Causale Redazione Verifica Approvazione. 00 xx/xx/xxxx Prima emissione

12. Verifica e Validazione del Software

Impiantistica elettrica di base

RAPPORTO DI VERIFICA DEL PROGETTO (Art. 52, 53 e 54 Regolamento II.pp. D.P.R. 207/2010)

Trapano, tornio, fresatrice (cenni) funzionalità di apparecchiature, Tecniche e procedure di. installazione di circuiti oleodinamici e pneumatici.

Università di Pisa Facoltà di Scienze Matematiche Fisiche e Naturali

Transcript:

: introduzione Contenuti : introduzione 2001-9 Corso di Ingegneria del Software V. Ambriola, G.A. Cignoni, C. Montangero, L. Semini Con aggiornamenti di: T. Vardanega (UniPD) Dipartimento di Informatica, Università di Pisa 1/26 Concetti e terminologia Verifica, validazione, integrazione e collaudo Verifica statica Inspection e walkthrough di qualità Dipartimento di Informatica, Università di Pisa 2/26 Verifica Accertare che l esecuzione del processo non abbia introdotto difetti nel Anche per singole attività di notevole ampiezza, complessità e criticità Validazione Accertare che il realizzato sia davvero quello atteso validazione requisiti intermedio... intermedio Dipartimento di Informatica, Università di Pisa 3/26 RU RS DA validazione (vista cliente) validazione (vista fornitore) DD Dipartimento di Informatica, Università di Pisa 4/26 TU TI TA TS Analisi statica e dinamica Ambiente di prova Analisi statica Non comporta esecuzione del codice Usata prevalentemente come forma di Anche per la validazione di requisiti non funzionali Effettuata su componenti Più raramente sul sistema intero (per motivi di complessità) Analisi dinamica (prove = test) Comporta esecuzione del codice Usata sia per che per validazione Effettuata su componenti ma anche sul sistema Ripetibilità della prova Ambiente definito (hardware, condizioni iniziali, ) Casi di prova definiti (ingressi e comportamenti attesi) Procedure definite Strumenti Driver componente attiva fittizia per pilotare un modulo Stub componente passiva fittizia per simulare un modulo Registrazione e analisi dei dati di prova Dipartimento di Informatica, Università di Pisa 5/26 Dipartimento di Informatica, Università di Pisa 6/26 2001-9 - Corso di Ingegneria del Software 1

: introduzione Esempio Test di unità Unità U composta dai moduli 3 Test di integrazione di U Con stub Con driver S2 a S3 a D2 U D3 S3 b b c c Approcci possibili Analisi statica Dal controllo di routine (desk-check) all ispezione Analisi dinamica Con realizzazione di driver e stub Responsabilità Del programmatore stesso (non pianificata) Con l intervento di una controparte (pianificata) Esempio: dinamica non pianificata + statica pianificata Il debugging dei moduli è responsabilità del programmatore Dipartimento di Informatica, Università di Pisa 7/26 Dipartimento di Informatica, Università di Pisa 8/26 Test di integrazione Test di sistema e collaudo Costruzione e del sistema Componenti realizzati in parallelo Componenti ti indipendentemente In condizioni ottimali l integrazione è priva di problemi Problemi Errori nella realizzazione dei componenti Modifica delle interfacce o cambiamenti nei requisiti Riuso di componenti dal comportamento oscuro o inadatto Integrazione con altre applicazioni non ben conosciute Validazione Test di sistema come attività interna del fornitore α alpha test (pre-collaudo) Collaudo come attività controllata dal committente β beta test (collaudo) Su casi di prova definiti nel contratto Valore contrattuale Il collaudo è un attività formale Al collaudo segue il rilascio del sistema Conclusione della commessa A meno di garanzia e servizi di manutenzione Dipartimento di Informatica, Università di Pisa 9/26 Dipartimento di Informatica, Università di Pisa 10/26 Forme di analisi statica Metodi di lettura [del codice] Effettuabili senza esecuzione del codice Metodi di lettura [del codice] (desk check) Impiegati frequentemente Ma di scarsa efficacia per sistemi di elevata complessità Documentati più o meno formalmente Metodi formali Basati sulla prova assistita di proprietà [del codice] La cui dimostrazione dinamica può essere eccessivamente onerosa Verifica di equivalenza o generazione automatica Inspection e Walkthrough Metodi pratici Basati sulla lettura [del codice] Di efficacia dipendente dall esperienza dei tori Nell organizzare le attività di Nel documentare le attività svolte e i risultati ottenuti Modalità relativamente complementari Dipartimento di Informatica, Università di Pisa 11/26 Dipartimento di Informatica, Università di Pisa 12/26 2001-9 - Corso di Ingegneria del Software 2

: introduzione Inspection Attività di inspection Obiettivi Rivelare la presenza di difetti Eseguire una lettura mirata [del codice] Agenti Verificatori distinti e separati dai programmatori Strategia Focalizzare la ricerca su presupposti Error guessing Fase 1: pianificazione Fase 2: definizione della lista di controllo Fase 3: lettura [del codice] Fase 4: correzione dei difetti In ogni fase Documentazione come rapporto delle attività svolte Dipartimento di Informatica, Università di Pisa 13/26 Dipartimento di Informatica, Università di Pisa 14/26 Walkthrough Attività di walkthrough Obiettivo Rivelare la presenza di difetti Eseguire una lettura critica [del codice] A largo spettro Senza l assunzione di presupposti Agenti Gruppi misti ispettori/sviluppatori ma con ruoli ben distinti Strategia [per il codice] Percorrerlo simulandone possibili esecuzioni Fase 1: pianificazione Fase 2: lettura [del codice] Fase 3: discussione Fase 4: correzione dei difetti In ogni fase Documentazione come rapporto delle attività svolte Dipartimento di Informatica, Università di Pisa 15/26 Dipartimento di Informatica, Università di Pisa 16/26 Inspection contro walkthrough di qualità Affinità Controlli basati su desk check Programmatori e tori su fronti opposti Documentazione formale Differenze Inspection basato su (errori) presupposti Walkthrough richiede maggiore attenzione Walkthrough più collaborativo Inspection più rapido Evidenza di qualità A fronte di una metrica e di livelli definiti Verificare (validare) per dare evidenza Controllo (interno) e accertamento (esterno) O/IEC 9126 come riferimento Quali strumenti per quali caratteristiche? 4 caratteristiche nella visione utente e 2 nella visione produttore La qualità in uso è valutata a posteriori Dipartimento di Informatica, Università di Pisa 17/26 Dipartimento di Informatica, Università di Pisa 18/26 2001-9 - Corso di Ingegneria del Software 3

: introduzione Funzionalità Affidabilità Dimostrabile tramite prove Analisi statica come attività preliminare Liste di controllo rispetto ai requisiti Completezza ed economicità Tutte le funzionalità richieste per tutti e soli i componenti necessari Interoperabilità Accertata la compatibilità tra le soluzioni realizzative adottate Sicurezza del e dei suoi componenti Adesione alle norme e alle prescrizioni Valutazione di accuratezza Dimostrabile tramite analisi statiche e dinamiche Verifica statica come attività preliminare Liste di controllo rispetto ai requisiti Robustezza Tolleranza ai guasti (fault tolerance) Capacità di ripristino e recupero da errori Adesione alle norme e alle prescrizioni Valutazione di maturità Dipartimento di Informatica, Università di Pisa 19/26 Dipartimento di Informatica, Università di Pisa 20/26 Usabilità Efficienza Le prove sono imprescindibili Analisi statica come attività complementare Liste di controllo rispetto ai manuali d uso Comprensibilità Apprendibilità Adesione a norme e prescrizioni Questionari sottomessi agli utenti Facilità e piacevolezza d uso Le prove sono necessarie Liste di controllo rispetto alle specifiche norme di codifica Nel tempo Efficienza algoritmica e computazionale Nello spazio Uso delle risorse controllato e moderato Margini di miglioramento e confidenza L efficienza provata fornisce confidenza nel L analisi statica fornisce indicazioni specifiche sui margini di miglioramento prestazionale Dipartimento di Informatica, Università di Pisa 21/26 Dipartimento di Informatica, Università di Pisa 22/26 Manutenibilità Portabilità Analisi statica come strumento ideale Liste di controllo rispetto alle norme di codifica Analizzabilità Modificabilità Liste di controllo rispetto alle prove Ripetibilità Verificabilità Prove di stabilità Analisi statica come strumento ideale Liste di controllo rispetto alle specifiche norme di codifica Adattabilità Prove come strumento complementare Facilità d installazione Compatibilità ambientale Facilità di sostituzione Dipartimento di Informatica, Università di Pisa 23/26 Dipartimento di Informatica, Università di Pisa 24/26 2001-9 - Corso di Ingegneria del Software 4

: introduzione Riepilogo Riferimenti Concetti e terminologia Verifica, validazione, integrazione e collaudo Verifica statica Inspection e walkthrough di qualità Standard for Software Component Testing, British Computer Society SIGT, 1997 M.E. Fagan, Advances in Software Inspection, IEEE Transaction on Software Engineering, luglio 1986 G.A. Cignoni, P. De Risi, Il test e la qualità del software, Il Sole 24 Ore, 1998 Dipartimento di Informatica, Università di Pisa 25/26 Dipartimento di Informatica, Università di Pisa 26/26 2001-9 - Corso di Ingegneria del Software 5