Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 5 -Test e verifica Ernesto Damiani Università degli Studi di Milano Lezione 6 – Test non funzionali
White boxing testing (1) Guarda solo il codice, non i requisiti o le specifiche Basato sul concetto di copertura del Program Flow Graph – Control Flow Coverage – Data Flow Coverage Test di tutti i cammini esecutivi indipendenti 4 tipi di white box test: – Statement testing – Loop testing – Path testing – Branch testing
White boxing testing (2) Statement testing – Test singole istruzioni (assegnamenti ecc.) Loop testing – Esecuzione “exactly once” – Esecuzione “more than once” Path testing – Esegue tutti i cammini indipendenti del programma Branch testing (test condizionale): – Ogni possibile risultato di una condizione è testato almeno una volta
Esempio di white boxing testing
Testing non funzionale Utilità Correttezza Robustezza – Configuration testing – Recovery testing – Safety testing – Security testing – Stress testing – Performance testing
Utilità Quanto il prodotto soddisfa le esigenze dell’utente quando usato come previsto dalle specifiche Fattori – Completezza funzionale – Facilità d’uso/accessibilità – Rapporto costi/funzionalità
Correttezza Un prodotto software è corretto se soddisfa le specifiche quando viene utilizzato nelle condizioni previste Dipende dalla correttezza delle specifiche Applicabilità dei metodi formali (Z, VDM ecc.) FINE