Ingegneria del Software Testing. Corso di Ingegneria del Software Anno Accademico 2012/2013



Documenti analoghi
Collaudo e qualità del software Quali test eseguire

Il Processo di Testing

Sistemi elettronici per la sicurezza dei veicoli: presente e futuro. Il ruolo della norma ISO per la Sicurezza Funzionale

Corso di Ingegneria del Software. Testing

Ciclo di vita dimensionale

Domenico Ercolani Come gestire la sicurezza delle applicazioni web

Ingegneria del Software

Project Management e Business Analysis: the dynamic duo. Firenze, 25 Maggio 2011

Corso di Linguaggi di Programmazione

Calcolo efficienza energetica secondo Regolamento UE n. 327/2011 Energy efficiency calculation according to EU Regulation no.

Configuration Management

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

Quality gate. Sono eventi programmati regolarmente e condotti seguendo una procedura standard

Ciclo di Vita Evolutivo

Processo parte III. Modello Code and fix. Modello a cascata. Modello a cascata (waterfall) Leggere Sez. 7.4 Ghezzi et al.

Concetti di base di ingegneria del software

Testing: basato su analisi dinamica del codice. Metodi Formali: basato su analisi statica del codice.

Stimare il WCET Metodo classico e applicazione di un algoritmo genetico

Test e collaudo del software Continuous Integration and Testing

Corso di Ingegneria del Software. Software Project Management

ATEX ed Ambienti Confinanti DCS Safety System Sistemi di Sicurezza e Controllo in ambienti a rischio esplosione

Analisi e sviluppo di un componente per un ESB open source

Collaudo e qualità del software Il testing nel ciclo di vita del software

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

IL SOFTWARE SECONDO LA NORMA UNI EN ISO :2008 (IIA PARTE) 1

Pannello Lexan BIPV. 14 Gennaio 2013

4.1 Che cos è l ideazione

WELCOME. Go to the link of the official University of Palermo web site Click on the box on the right side Login unico

Procedura SODDISFAZIONE DEL CLIENTE E MIGLIORAMENTO CONTINUO

Decomponibilità dei sistemi software

We take care of your buildings

WELCOME UNIPA REGISTRATION:

La Certificazione ISO 9001:2008. Il Sistema di Gestione della Qualità

Giuseppe Santucci. Qualità nella Produzione del Software. 02- Il sistema assicurazione qualità (SQAS: Sofware Quality Assurance System)

SCD IS. Regole del Progetto Didattico. Regole del Progetto Didattico. Fasi esterne di progetto 1. Fasi esterne di progetto 2. Progetto didattico

Corso di Amministrazione di Sistema Parte I ITIL 8

Piano di gestione della qualità

UNI EN ISO 9001:2008 Sistemi di Gestione per la Qualità: requisiti e guida per l uso

Manutenzione del software

PMBOK Guide 3 rd Edition 2004

MALIKA. Malikachair.com

Progettaz. e sviluppo Data Base

7. Esigenze informative e FAQ. 8. Allegati. Repository documentale.

Breve introduzione al Javadoc

Sommario. Esempio di Modellazione mediante DASM: Grid OGSA. Grid secondo OGSA. Definizione Grid per OGSA. Stati di un Job e Requisiti DASM

ALLEGATO Esempio di questionario per la comprensione e valutazione del sistema IT

INSTALLARE PALLADIO USB DATA CABLE IN WINDOWS XP/ME/2000/98

Portale Materiali Grafiche Tamburini. Grafiche Tamburini Materials Portal

Ingegneria del Software. Processi di Sviluppo

M/S AMARU' GIOVANNI VIA S. ERASMO snc VASCHE DI CASTEL S. ANGELO (RI) ITALY

TXT e-solutions. Passion for Quality. Banking&Finance

Introduzione ai tipi di dato astratti: applicazione alle liste

Qualifica dei Servizi di Pulizia e Sanificazione in Sanita

ESPERIENZE DI ESECUZIONE DI GAP ANALYSIS E RELATIVI PIANI DI ADEGUAMENTO ALLA ISO Automotive Software Workshop. Ernesto Viale 1 Dicembre 2011

Common Criteria CC-101 CC Part 2 Basics

Sistemi elettronici per la sicurezza dei veicoli: presente e futuro. Il ruolo della norma ISO per la Sicurezza Funzionale

Software Embedded Integration Testing. Ing. Matteo Maglio Milano, 17 Febbraio 2011

SISTEMA DI GESTIONE INTEGRATO. Audit

M/S CERAMICA SCARABEO Località Pian del Trullo Fabrica di Roma (VT), ITALY Fabrica di Roma (VT), ITALY. C. A. Sig.

Hosting Applicativo Upgrade Web Client

Politica per la Sicurezza

CONFIGURATION MANUAL

Tutto il materiale inspirato a Steve Blank

Fast Track Navision - Development

REGISTRATION GUIDE TO RESHELL SOFTWARE

Modello OAIS. Modello di riferimento. Il Modello. Prof.ssa E. Gentile a.a Un modello di riferimento dovrebbe descrivere:

SERVICE. di posa in opera. Specialized installation and services

UNIVERSITÀ DEGLI STUDI DI TORINO

GESTIONE INFORMATICA DEI DATI AZIENDALI

Gestione Turni. Introduzione

TNCguide OEM Informativa sull introduzione di documentazione aggiuntiva nella TNCguide

Testing. Definizioni. incomprensione umana nel tentativo di comprendere o risolvere un problema, o nell uso di strumenti

IL MODELLO SCOR. Agenda. La Supply Chain Il Modello SCOR SCOR project roadmap. Prof. Giovanni Perrone Ing. Lorena Scarpulla. Engineering.

Come si può vedere, la regola è stata fatta in modo da spostare tutti i messaggi di Spam nella cartella del cestino.

Database. Si ringrazia Marco Bertini per le slides

Sistemi di gestione per la qualità Requisiti

Carlo Bestetti Consulente Tonino Ranieri - Schering Plough Workshop Predictive Maintenance & Calibration, Milano 14 dicembre 2006

Qualità è il grado in cui un insieme di caratteristiche intrinseche soddisfa i requisiti (UNI EN ISO 9000:2005)

La qualità vista dal monitor

Ingegneria del Software

1. L Ingegneria del Software

N 1 alla versione bilingue (italiano-inglese) NORMA UNI EN ISO 9001 (novembre 2008) Sistemi di gestione per la qualità - Requisiti.

Aggiornamento dispositivo di firma digitale

Introduzione ai Web Services Alberto Polzonetti

Dispensa di database Access

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software.

Allegato A Tenuta e redazione delle carte di lavoro

Pannello LEXAN BIPV. 20 Novembre 2013

La Normativa Interforze sull Integrated Logistic Support NIILS SGD-G -018

COSA FARE APPENA ACQUISTATA UNA SMARTBOARD TM

Indagini ed analisi dei dati raccolti con Access 2007

Verifica del codice con Interpretazione Astratta

La Norma ISO Ed Guidance on project management

Il processo di certificazione del software MD

Università degli Studi di Salerno

Introduzione ai Metodi Formali

Project Planning. Politecnico di Milano. Progetto di Ingegneria del Software novembre Elisabetta Di Nitto Raffaela Mirandola

Workflow di Test. Valerio Mercanti - ISP0607 1

Esercitazioni di Progettazione del Software. Esercitazione (Prova al calcolatore del 17 settembre 2010)

MANUALE DELLA QUALITÀ Pag. 1 di 6

Transcript:

Ingegneria del Software Testing Corso di Ingegneria del Software Anno Accademico 2012/2013 1

Definizione IEEE Software testing is the process of analyzing a software item to detect the differences between existing and required conditions (that is, bugs) and to evaluate the features of the software item 2

Definizione IEEE Risultati corretti e non corretti Mistake a human action that produces an incorrect Result Fault [or Defect] an incorrect step, process, or data definition in a program Failure the inability of a system or component to perform its required function within the specified performance requirement. Error the difference between a computed, observed, or measured value or condition and the true, specified, or theoretically correct value or condition. 3

Introduzione Il Testing E' una pratica di Verifica e Validazione (V&V) del software Verification (the first V) is the process of evaluating a system or component to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase (IEEE 1990) Assicura che il software implementi correttamente una specifica funzione Are we building the product right? 4

Introduzione Il Testing Validation (the second V) is the process of evaluating a system or component during or at the end of the development process to determine whether it satisfies specified requirements (IEEE 1990) Assicura che il prodotto soddisfi le richieste del cliente Are we building the right product? 5

Black Box & White Box Black Box Testing Validation Il tester non ha accesso al codice, il codice è una black box Si basa sui requisiti White Box Testing Verification Il tester ha accesso al codice 6

Livelli di Testing Ci sono sei livelli di testing che possono essere fatti su un sistema software: Unit testing is the testing of individual hardware or software units or groups of related units (IEEE 1990) Integration test is testing in which software components, hardware components, or both are combined and tested to evaluate the interaction between them (IEEE 1990) 7

Livelli di Testing Functional and System testing Functional testing involves ensuring that the functionality specified in the requirement specification works. System testing is testing conducted on a complete, integrated system to evaluate the system compliance with its specified requirements (IEEE 1990) 8

Livelli di Testing Acceptance testing is formal testing conducted to determine whether or not a system satisfies its acceptance criteria (the criteria the system must satisfy to be accepted by a customer) and to enable the customer to determine whether or not to accept the system (IEEE 1990) Regression testing is selective retesting of a system or component to verify that modifications have not caused unintended effects and that the system or component still complies with its specified requirements (IEEE 1990) 9

Livelli di Testing Beta Testing when an advanced partial or full version of a software package is available, the development organization can offer it free to one or more (and sometimes thousands) potential users or beta testers 10

Livelli di Testing 11

Il Testing nel processo di sviluppo Eseguire i test il prima possibile e quante volte possibile La pianificazione e l'esecuzione dei test è un processo iterativo Devono essere scritti appena si hanno a disposizione i requisiti Devono essere aggiornati ogni volta che i requisiti cambiano 12

Black Box Testing Test Funzionali e Test Comportamentali Cerca di individuare 5 tipi di errori Funzioni mancanti o non corrette Errori nell'interfaccia Errori nelle strutture dati usate dalle interfaccie Errori di performance e di comportamento Errori di inizializzazione e terminazione Attraverso questi test si determina se il sistema è in accordo con le specifiche 13

Black Box Testing Per eseguire il black box testing non è necessario conoscere la struttura interna del codice Meglio se non pianificati ed eseguiti dai programmatori che hanno scritto il codice Molte organizzazioni hanno gruppi di testing indipendenti e l'attività di test è spesso affidata a terze parti 14

Test Planning A test plan is a document describing the scope, approach, resources, and schedule of intended test activities. It identifies test items, the features to be tested, the testing tasks, who will do each task, and any risks requiring contingency plans (IEEE, 1990) Un componente importante del test plan è l'individuazione dei casi di test 15

Test Planning A test case is a set of test inputs, execution conditions, and expected results developed for a particular objective, such as to exercise a particular program path or to verify compliance with a specific requirement (IEEE, 1990). 16

Test Planning Il test plan dovrebbe essere fatto il prima possibile nel ciclo di sviluppo Il formato del test case è molto importante. Il template usato generalmente è il seguente: Test ID: identificatore Description: passi da eseguire e condizioni di ingresso Expected Results: risultati attesi dal test Actual Results: risultati ottenuti dal test 17

Test Planning 18

Test Planning I campi del test case devono essere compilati in modo chiaro e non ambiguo Se si verifica un problema deve essere possibile ricrearlo I test case devono corrispondere ai requisiti espressi dal cliente 19

Test early and often Eseguire i test case il prima possibile è il modo migliore per ricevere feedback sul codice Per far girare i test case gli sviluppatori devono integrare i vari pezzi di codice in un codice di base Si raccomanda che il codice venga integrato una volta al giorno 20

White Box Testing Esamina la logica e la struttura del codice Structural testing, clear box testing, glass box testing Gli unit test utilizzano tecniche di white box testing per assicurare che le singole unità funzionino correttamente Una unit è un componente del codice 21

White Box Testing Con i white box test è possibile: Garantire che tutti i percorsi indipendenti di un modulo siano eseguiti almeno una volta Eseguire tutte le decisioni logiche (sia true che false) Eseguire tutti i loop compresi gli estremi Fare il check delle strutture interne di dati Gli unit test permettono di catturare circa il 65% dei bug 22

Esempio: Unit Test /*Function that sum 2 integers*/ int addition(int a, int b) { return (a + b); } 23

Esempio-Unit Test BOOL additiontest() { if(addition(2,3)!= 5) return (FALSE); if(addition(0,0)!= 0) return (FALSE); if(addition(6,0)!= 6) return (FALSE); if(addition(-2,0)!= -2) return (FALSE); if(addition(7,-2)!= 5) return (FALSE); if(addition(-5,3)!= -2) return (FALSE); if(addition(-5,-1)!= -6) return (FALSE); return (TRUE); } 24