Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 5 -Test e verifica Ernesto Damiani Università degli Studi di Milano Lezione 3 – Vocabolario del test
Granularità del testing (1) Test di componente Fatto direttamente dagli sviluppatori – Obiettivo: confermare che il componente è stato codificato correttamente Test di sottosistema Su gruppi di componenti Fatto direttamente dagli sviluppatori – Obiettivo: testare le interfacce tra componenti
Granularità del testing (2) Test di sistema Sull’intero sistema Fatto da tester – Obiettivo: determinare se il sistema soddisfa i requisiti (funzionali e non-funzionali) Test di accettazione Valutazione dell’accettabilità del prodotto Fatto dal cliente – Obiettivo: dimostrare che il sistema è pronto all’uso da parte del cliente
Vocabolario base del tester Error – Stato del software in cui la prosecuzione dell’esecuzione causa un failure Failure – Deviazione tra il comportamento osservato e il comportamento specificato del sistema Fault (bug) – La causa (fisica o algoritmica) di un errore Reliability – Concordanza tra il comportamento osservato e il comportamento specificato del sistema
Vocabolario avanzato (1) Test Case (Caso di test) – Un insieme di dati/eventi di input per uno specifico test Test Suite – Un insieme di test case. Test Driver – Un programma per testare automaticamente un modulo Test Stub – Un programma per testare automaticamente un componente
Vocabolario avanzato (2) Test Harness – L’ambiente esecutivo completo di stub e driver. Coverage – Misura della quantità di testing da eseguire, espressa in termini di casi di test. Adequacy – Misura di efficienza ed efficacia di una test suite
I mock object Per le applicazioni a oggetti, i mock object sostituiscono stub e driver – La tecnica crea un “falso” oggetto che emula le funzionalità di un oggetto reale, rendendo il testing più facile. – Per esempio: MockServer, MockDB FINE