13. Verifica e Validazione del Software
|
|
|
- Eugenia Valentino
- 8 anni fa
- Visualizzazioni
Transcript
1 13. Verifica e Validazione del Software Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 13. Verifica e Validazione del Software 1 / 13
2 Verifica e Validazione - generalità Verifica: stiamo sviluppando il sistema correttamente? Validazione: stiamo sviluppando il prototto corretto? (Ingegneria del Software) 13. Verifica e Validazione del Software 2 / 13
3 Approaches to V&V Approcci statici: ispezione del software, verifica formale, analisi statica dei sorgenti Approcci dinamici: testing, monitoring Debugging? (Ingegneria del Software) 13. Verifica e Validazione del Software 3 / 13
4 Ispezione del software Può sembrare inefficace ma molte esperienze reali hanno dimostrato il contrario. In molti casi ispezione si è rivelata più efficace del testing Vantaggi sul testing: Non permette mascheramento di errori possibilità di applicazione a parti del software non ancora eseguibili possibiltà di verificare aderenza agli standard, ed a stile di codifica (Ingegneria del Software) 13. Verifica e Validazione del Software 4 / 13
5 Processo di ispezione Come tutte le atticità si svolge strutturando un processo e degli attori che svolgono specifiche attività Attori: Autore Ispettore Lettore Scriba Moderatore Responsabile del processo Il Processo di ispezione Pianificazione Overview Preparazione Individuale Riunione di ispezione Rielaborazione Follow-up (Ingegneria del Software) 13. Verifica e Validazione del Software 5 / 13
6 Uso di checklist Errori sui dati: inizializzazione delle variabili, uso di nomi per le costanti, indici di vettori, buffer overflow Errori nel controllo: specifica delle condizioni, terminazione dei cicli, uso delle parentesi, case comprende tutte le possibilità, uso dei comandi di break Errori negli input/output: uso di tutte le variabili, assegnamento di valori alle variabili di uscita, comportamento in caso di ingressi imprevisti Errori nelle interfacce: verifica del corretto uso dei parametri, ordine dei parametri Errori nella gestione della memoria: uso e modifica di una struttura con collegamenti, allocazione e deallocazione dinamica dello spazio Errori nella gestione delle eccezioni: possibili sorgenti di errore sono considerate (Ingegneria del Software) 13. Verifica e Validazione del Software 6 / 13
7 Considerazioni quantitative 500 linee all ora durante overview 125 righe di codice all ora durante preparazione individuale tra i 90 e le 125 righe durante il meeting (Ingegneria del Software) 13. Verifica e Validazione del Software 7 / 13
8 Verifica formale Applicabili nel caso di uso di formalismi di specifica formali. Correttezza può essere derivata con argomenti matematici Comunque: specifica formali potrebbe non rispecchiare i requisiti reali le prove potrebbero essere errate prove potrebbero fare assunzioni non valide nell ambiente finale d uso (Ingegneria del Software) 13. Verifica e Validazione del Software 8 / 13
9 Testing Il testing del software prevede l esecuzione di alcuni esperimenti al fine di poter acquisire sufficiente fiducia sul suo funzionamento. Testing riguarda tipicamente proprietà funzionali ma può riguardare anche caratteristiche extra-funzionali. Quali esperimenti devono essere eseguti? Quando posso dire che gli esperimenti sono sufficienti? Come posso decidere riguardo al risultato? Ho bisogno di riprodurre particolari ambienti? (Ingegneria del Software) 13. Verifica e Validazione del Software 9 / 13
10 Un po di tassonomia Test Case Test suite Driver Sistem Under Test (SUT) Stubs Testbed Controllo/Osservo Oracolo Workload... (Ingegneria del Software) 13. Verifica e Validazione del Software 10 / 13
11 Fasi del testing e V model Unit testing Integration testing System Testing Acceptance Testing (Ingegneria del Software) 13. Verifica e Validazione del Software 11 / 13
12 Criteri di scelta Dati - Partition testing, Boundary Condition Controllo - Path, Brach, Statement (Ingegneria del Software) 13. Verifica e Validazione del Software 12 / 13
13 Diverse Tipologie Robustness Testing Regression Testing (Ingegneria del Software) 13. Verifica e Validazione del Software 13 / 13
14. Verifica e Validazione
14. Verifica e Validazione Come assicurarsi che il software corrisponda alle necessità dell utente? Introdurremo i concetti di verifica e validazione Descriveremo le fasi del processo di testing Parleremo
3. Ciclo di Vita e Processi di Sviluppo
3. Ciclo di Vita e Processi di Sviluppo come posso procedere nello sviluppo? Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 3. Ciclo di Vita e Processi di
Collaudo e qualità del software Quali test eseguire
Collaudo e qualità del software Relatore Ercole Colonese Roma, Tipologie di test Temi trattati nel libro Modello a V Livelli di testing Tipi di test Test funzionali Test delle funzionalità Test di gestione
Gestione dello sviluppo software Modelli Base
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione GESTIONE DEI SISTEMI ICT Paolo Salvaneschi A4_1 V1.0 Gestione dello sviluppo software Modelli Base Il contenuto
Le basi del linguaggio Java
Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una
2. Modellazione dei casi d uso
2. Modellazione dei casi d uso Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica (Laboratorio di Ingegneria del Software) 2. Modellazione dei casi d uso 1 / 20 Sommario
Materiale didattico. Sommario
Diploma Universitario in Ingegneria Informatica Corso di Ingegneria del Software Docente: ing. Anna Rita Fasolino Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II
Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX
Indice Prefazione Gli Autori Ringraziamenti dell Editore La storia del C XVII XXIX XXXI XXXIII PARTE A Capitolo 1 Computer 1 1.1 Hardware e software 2 1.2 Processore 3 1.3 Memorie 5 1.4 Periferiche di
Informatica. Progettazione ed implementazione di un tool per il supporto al debug nella pratica di sviluppo Test Driven
Tesi di laurea in Informatica Progettazione ed implementazione di un tool per il supporto al debug nella pratica di sviluppo Test Driven Relatore Ch.mo Prof. Giuseppe Trautteur Candidato Gioacchino Del
Esempi di errori/difetti. algoritmi sintassi calcolo e precisione documento stress capacità ricovery sistema hardware e software standard e procedure
COLLAUDO Esempi di errori/difetti algoritmi sintassi calcolo e precisione documento stress capacità ricovery sistema hardware e software standard e procedure Verifica e Validazione Validazione Requisiti
Introduzione a Matlab
INFORMATICA B Ingegneria Elettrica Introduzione a Matlab Introduzione a Matlab Matlab (MATrix LABoratory) è uno strumento per il calcolo scientifico ed ingegneristico Matlab facilita lo sviluppo di programmi
PIANO DI LAVORO. Programmazione Didattica per Competenze. Indirizzo Informatica e Telecomunicazioni. Articolazione Informatica DOCENTE:
PIANO DI LAVORO Programmazione Didattica per Competenze Indirizzo Informatica e Telecomunicazioni Articolazione Informatica DOCENTE: ITP: MATERIA: CLASSE: ORE SETTINALI: CANTARELLA ALFREDO NATALE LUIGI
INGEGNERIA DEL SOFTWARE
DIPARTIMENTO DI INGEGNERIA ELETTRICA ELETTRONICA E INFORMATICA Corso di laurea magistrale in Ingegneria informatica Anno accademico 2016/2017-1 anno INGEGNERIA DEL SOFTWARE 9 CFU - 1 semestre Docente titolare
Programma svolto di INFORMATICA. Classe 3 - indirizzo MERCURIO A.S. 2009/2010
ISTITUTO TECNICO COMMERCIALE N. DELL ANDRO - Santeramo in Colle (BA) Programma svolto di INFORMATICA Classe 3 - indirizzo MERCURIO A.S. 2009/2010 Proff. Rosalia Barbara Schiavarelli, Antonio Antonicelli
Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione
Informatica 3 LEZIONE 1: Introduzione Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di Informatica 3 Lezione 1- Modulo 1 Introduzione al corso Introduzione Corso di Informatica 3
STORIA E CARATTERISTICHE
IL LINGUAGGIO C STORIA E CARATTERISTICHE STORIA E VERSIONI Sviluppato da Dennis Ritchie ai Bell Labs nel 1972 per realizzare il sistema operativo UNIX K&R C: 1978 (prima versione, K&R dal nome degli autori
SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:
SQL e linguaggi di programmazione L interazione con l ambiente SQL può avvenire in 3 modi: in modo interattivo col server attraverso interfacce o linguaggi ad hoc legati a particolari DBMS attraverso i
Programma svolto di INFORMATICA. Classe 3M - indirizzo MERCURIO A.S. 2010/2011
ISTITUTO TECNICO COMMERCIALE N. DELL ANDRO - Santeramo in Colle (BA) Programma svolto di INFORMATICA Classe 3M - indirizzo MERCURIO A.S. 2010/2011 Proff. Rosalia Barbara Schiavarelli, Antonio Antonicelli
Giovanni A. Cignoni 1
Simulazione software di sistemi dinamici Simulazione Lezione n. 2 Corso di Laurea in Informatica Applicata Università di Pisa, sede di La Spezia Giovanni A. Cignoni Simulazione www.di.unipi.it/~giovanni
ELETTRONICA II. Prof. Dante Del Corso - Politecnico di Torino
ELETTRONICA II Prof. Dante Del Corso - Politecnico di Torino Gruppo G: Interfacciamento e interconnessioni Lezione n. 34 - G - 5: Protocollo a livello transazione Esempi di bus reali Interconnessioni 3
PROGRAMMAZIONE DIDATTICA DIPARTIMENTO MECCANICO. Tecnologia meccanica e applicazioni. Classe 4 MT A.S
PROGRAMMAZIONE DIDATTICA DIPARTIMENTO MECCANICO Tecnologia meccanica e applicazioni Classe 4 MT A.S.2016-2017 Rev. 0 del 08-03-04 pag. 1 di 6 1 Caratteristiche meccaniche e tecnologiche dei materiali metallici
CURRICOLO DIPARTIMENTO INFORMATICA PRIMO BIENNIO
dei limiti nel contesto culturale e sociale in cui vengono applicate CURRICOLO PARTIMENTO INFORMATICA PRIMO BIENNIO MODULO 1 Concetti di base della tecnologia dell informazione Acquisire e interpretare
Programma di INFORMATICA
Classe 2 a D Indirizzo AMMINISTRAZIONE FINANZA E MARKETING MODULO 1: Word professionale e la corrispondenza commerciale UD 1 Questione di stile 1.1 Gli stili 1.2 Applichiamo gli stili UD 2 Formattazione
PROGRAMMA PER LA PROVA DI ACCERTAMENTO
PROGRAMMA PER LA PROVA DI ACCERTAMENTO PARTE 1 Fondamenti di informatica Questa sezione ha lo scopo di presentare i principali argomenti teorici che stanno alla base del funzionamento di un elaboratore
1. UML 2 ed il Processo Unificato
1. UML 2 ed il Processo Unificato Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 1 / 25 Sommario
Ingegneria del Software
Ingegneria del Software Obiettivi della lezione: Definire cosa si intende per Ingegneria del Software Discutere i concetti di prodotto software e di processo software Spiegare il concetto di visibilità
Linguaggi di alto livello, compilatori e interpreti
Linguaggi di alto livello, compilatori e interpreti Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Il punto della situazione STATO DATI
APPUNTI PER IL CORSO DI ALFABETIZZAZIONE INFORMATICA
Università degli Studi di Udine CENTRO SERVIZI INFORMATICI E TELEMATICI Via delle Scienze, 208-33100 UDINE (Italy) Tel. +39-0432-558900 Fax +39-432-558911 CF 80014550307 P. IVA 01071600306 Internet E-mail:
Lez. 5 La Programmazione. Prof. Salvatore CUOMO
Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente
La Raccolta dei Requisiti. Corso di Ingegneria del Software Anno Accademico 2012/2013
La Raccolta dei Requisiti Corso di Ingegneria del Software Anno Accademico 2012/2013 Introduzione La raccolta dei requisiti è il processo della determinazione in forma testuale (anche grafica) di che cosa
Stato dell arte sulle tecniche di testing di Sistemi Embedded
tesi di laurea Anno Accademico 2011/2012 relatore Ch.mo prof. Porfirio Tramontana candidato Alfonso Cutolo Matr. 041/3068 Obiettivi Facoltà di Ingegneria Obiettivi Ordinare e descrivere in maniera metodologica
Software Testing. Esercizi proposti. Esercizi di Testing 1
Software Testing Esercizi proposti Esercizi di Testing 1 Esercizi proposti Una delle prove obbligatorie per sostenere l esame di Ingegneria del Software 2 è lo svolgimento di un esercizio pratico di testing
Verifica del codice con Interpretazione Astratta
Verifica del codice con Interpretazione Astratta Daniele Grasso [email protected] [email protected] Università di Firenze, D.S.I., Firenze, Italy December 15, 2009 D.Grasso (Università di Firenze)
SIMULAZIONE DISCRETA
SIMULAZIONE DISCRETA Prof. Michele Colajanni Corso di Impianti di Elaborazione Ingegneria Informatica Università di Modena e Reggio Emilia Origini della Simulazione Discreta Nata nell ambito della ricerca
Ingegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15
Ingegneria del Software 4. Introduzione a UML Dipartimento di Informatica Università di Pisa A.A. 2014/15 e per i modelli iterativi analisi peliminare analisi e progettazione realizzazione Necessità di
Informatica per la Comunicazione/ Verdicchio/ 09/02/2017/ Domande / VERSIONE 1
Informatica per la Comunicazione/ Verdicchio/ 09/02/2017/ Domande / VERSIONE 1 1) In origine, il termine computer indicava a) un calcolatore meccanico b) un algoritmo c) una persona 2) L informatica si
Costanti e Variabili
Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli
Cosa è un programma. Informatica di Base -- R.Gaeta 18
Cosa è un programma Il programma è la scatola nera che risolve il problema computazionale; Il programma è una sequenza di istruzioni che devono essere eseguite; Il programma è la traduzione per il computer
Elementi di C++ di base
Elementi di C++ di base Corso di Programmazione 3 - Ingegneria dell Informazione e dell Organizzazione 10 ottobre, 2001 Gino Perna Esempi di semplici programmi in C++ Il programma più semplice consiste
Verifica e Convalida
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Verifica e Convalida E. TINELLI Definizioni Le attività di Verifica (Verification) e Convalida (Validation)
Indice. Prefazione. 3 Oggetti e Java 53
Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware
Linee di programmazione
Ministero dell Istruzione, dell Università e della Ricerca Ufficio Scolastico regionale per il Lazio Istituto Tecnico Industriale A. Pacinotti ISTITUTO TECNICO TECNOLOGICO - LICEO SCIENTIFICO DELLE SCIENZE
La programmazione ad oggetti: chiamate di metodi. Overloading. This
ISTITUTO D ISTRUZIONE SUPERIORE FERRARIS BRUNELLESCHI - EMPOLI Materia: INFORMATICA PROGRAMMA SVOLTO A.S. 2015/2016 Classe IV C Informatica Proff. Fabio Ciao / Simone Calugi Libro di testo: Cloud B P.
Verifica e Validazione del Software
Verifica e Validazione del Software Testing processes Ingegneria del Software 2 Testing Processes 1 Riferimenti Ian Sommerville, Ingegneria del Software, capitoli 22-23-24 (più dettagliato sui processi)
I.I.S. N. PELLATI Nizza Monferrato - Canelli
A. S. 2011-2012 INFORMATICA Classe 1AG - CAT Ore annuali: 99 DOCENTE MARIA PIA SECCO Obiettivi disciplinari Conoscenze Informazioni, dati e loro codifica. Architettura e componenti di un computer. Funzioni
Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso
Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura
I.I.S. Federico II di Svevia - Melfi
I.I.S. Federico II di Svevia - Melfi Liceo Scientifico - Opzione Scienze Applicate Progettazione didattica a.s. 2016/2017 INFORMATICA Docente: Michele FICARAZZI Classe 2AA PREMESSA SULLA CLASSE: La classe
Indice. Introduzione 15. L hardware 24. Il software 43. Introduzione al linguaggio di Arduino 60. Basi del linguaggio di Arduino 65
Indice Introduzione 15 1.1 - Un po di storia 15 1.2 - Le vecchie schede 18 1.3 - La filosofia open 23 L hardware 24 2.1 - La scheda Arduino UNO 24 2.1.1 - Avvertenze sull uso della scheda 27 2.2 - Il microcontrollore
Linguaggi, Traduttori e le Basi della Programmazione
Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi
Modelli e Metodi per la Simulazione (MMS)
Modelli e Metodi per la Simulazione (MMS) [email protected] Programma La simulazione ad eventi discreti, è una metodologia fondamentale per la valutazione delle prestazioni di sistemi complessi (di
Modelli matematici e Data Mining
Modelli matematici e Data Mining Introduzione I modelli matematici giocano un ruolo critico negli ambienti di business intelligence e sistemi di supporto alle decisioni. Essi rappresentano un astrazione
Modellizzazione dei processi aziendali
Modellizzazione dei processi aziendali Prof.ssa Enrica Gentile a.a. 2011-2012 Processo L insieme delle attività elementari che vengono svolte per raggiungere un certo obiettivo nel sistema. Possiamo avere
Collaudo e qualità del software Il testing nel ciclo di vita del software
Il testing nel ciclo di vita del software Relatore Ercole Colonese Roma, Il test nel ciclo di vita del software Temi trattati nel libro Il test nello sviluppo del software Strategia e pianificazione dei
Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)
INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) Computer elaboratore di informazione riceve informazione in ingresso (input) elabora questa informazione restituisce informazione ottenuta elaborando
Input/Output. Livelli del sottosistema di I/O
Input/Output 1 Livelli del sottosistema di I/O Software di I/O di livello utente Software di sistema indipendente dal Di Driver dei didispositivi itii Gestori delle interruzioni Hardware utente kernel
Corso di. Fondamenti di Informatica T
Università degli Studi di Bologna Facoltà di Ingegneria Corso di http://lia.deis.unibo.it/courses/fondt-1011-elt Corso di Laurea in Ingegneria Elettrica Prof. Rebecca Montanari Anno accademico 2010/2011
GAMBOTTO-MANZONE, Conoscere e applicare la Matematica, vol.2 Tramontana GAMBOTTO-MANZONE, Conoscere e applicare la Matematica, vol.
RELAZIONE FINALE DEL DOCENTE All. A Docente: CONTI ELEONORA Disciplina: Matematica Classe 5AP A. S. 2013-2014 1. LIBRO DI TESTO UTILIZZATO: GAMBOTTO-MANZONE, Conoscere e applicare la Matematica, vol.2
PRESENTAZIONE DEL CORSO
PRESENTAZIONE DEL CORSO Davide Giglio E-mail: [email protected] CORSO DI LAUREA IN INGEGNERIA INFORMATICA Obiettivo del Corso Lo studente al termine del corso sarà in grado di: modellare come sistemi
23/05/ :56:05 Pagina 1 di 8
Denominazione Figura / Profilo / Obiettivo Indirizzi OPERATORE GRAFICO 1 - STAMPA E ALLESTIMENTO 2 - MULTIMEDIA Professioni NUP/ISTAT correlate 6. - Artigiani, operai specializzati e agricoltori 6.3.4.1
Lezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo [email protected] Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
Correttezza (prima parte)
Fondamenti di informatica Oggetti e Java (prima parte) Capitolo 16 ottobre 2015 1 Contenuti Introduzione alla correttezza dei programmi specifica di un programma correttezza di un programma verifica di
Controlli Automatici. Maria Gabriella Xibilia Blocco B piano 7 Tel. 7328
Controlli Automatici Maria Gabriella Xibilia Blocco B piano 7 Tel. 7328 Libri di testo Bolzern, Scattolini, Schiavone Fondamenti di controlli automatici Mc-Graw Hill III edizione Isidori Sistemi di Controllo
