Workflow di Test Valerio Mercanti - ISP0607 1
Obiettivo del workflow di test Verificare l interazione tra oggetti e componenti Verificare la corretta integrazione di tutti i componenti del software Verificare che tutti i requisiti siano stati correttamente realizzati Identificare difetti e assicurarsi che essi siano esaminati e, dove possibile, corretti prima del rilascio. Valerio Mercanti - ISP0607 2
Quando va fatto Il test è il mezzo con il quale viene verificata la qualità. I test non dovrebbero essere visti come un attività distinta, né come l esecuzione di qualche singolo test. La best practice è considerare l attività di test come un ampio workflow che comprende una serie di test realizzati durante tutto il ciclo di sviluppo. Valerio Mercanti - ISP0607 3
Dimensioni della qualità Le seguenti dimensioni della qualità devono essere analizzate quando si testa il software: Affidabilità Integrità e robustezza Funzionalità Abilità di eseguire i requisiti funzionali. Prestazioni e altri eventuali requisiti non funzionali delle applicazioni e del sistema. Valerio Mercanti - ISP0607 4
Fasi di test I test sono eseguiti su diversi tipi di obiettivi nelle varie fasi dello sviluppo del software: Test di unità Test di integrazione Test di sistema Test di accettazione. Valerio Mercanti - ISP0607 5
Tipi di test Test di benchmark Test di configurazione Test funzionali strutturali Test di installazione Test di integrità Test di carico Test prestazionale Test di stress. Valerio Mercanti - ISP0607 6
Test di regressione Si tratta di una strategia secondo la quale un test eseguito in precedenza viene eseguito di nuovo su una versione più recente del sistema. Lo scopo è di assicurarsi che: I difetti identificati nelle precedenti esecuzioni del test siano stati risolti I cambiamenti apportati al codice non abbiano introdotto difetti nuovi né reintrodotto difetti vecchi. Valerio Mercanti - ISP0607 7
Casi di test Un caso di test definisce: L insieme dei dati per quel test Condizioni d esecuzione del test Risultati attesi I casi di test possono essere derivati da casi d uso, documenti di design o codice software. Valerio Mercanti - ISP0607 8
Esempio IDT Descrizione Oggetto Dati Condizioni d esecuzione Risultati attesi Esito 1 Login - Il sistema non accetta stringhe vuote per i campi username e password C_Login.check():int check(, ); errore 4 Passato 2 Accesso - Il sistema respinge la richiesta di passaggio al tornello da parte di un cliente che sottometta una tessera alla quale non è associato un credito sufficiente /*per un pranzo: il pranzo è a presso fisso*/ C_Accesso.acquista() :int acquista(carta c1); Nel sistema è presente l oggetto c1, ma ha credito inferiore a 3 errore 2 Fallito Valerio Mercanti - ISP0607 9
Esempio IDT Descrizione Oggetto Dati Condizioni d esecuzione Risultati attesi Esito 3 Accesso - Il sistema respinge la richiesta di un cliente che abbia già acceduto in quella giornata /*Turno unico di servizio mensa*/ C_Login.check():int check(, ); errore 4 Passato 4 Scarico Se un cliente è abilitato ad attraversare un tornello allora il suo conto viene scaricato del corrispettivo per un pranzo /* a costo fisso */ C_Accesso.acquista() :int acquista(carta c1); Nel sistema è presente l oggetto c1, ma ha credito inferiore a 3 errore 2 Fallito Valerio Mercanti - ISP0607 10
Esempio IDT Descrizione Oggetto Dati Condizioni d esecuzione Risultati attesi Esito 5 Ricarica - Il sistema respinge la richiesta di versamento con importo non positivo. C_Login.check():int check(, ); errore 4 Passato 6 Output Il sistema verifica il corretto dialogo con stampante correttamente collegata, alimentata, funzionante. C_Accesso.acquista() :int acquista(carta c1); Nel sistema è presente l oggetto c1, ma ha credito inferiore a 3 errore 2 Fallito........ Valerio Mercanti - ISP0607 11