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 – Da svolgere a casa – In gruppi al più di 3 persone – Da consegnare al più due giorni prima dell’esame, via e-mail Esercizi di Testing 2 Tracce proposte • Sono proposte 4 applicazioni da testare, tra le quali scegliere liberamente: – JMine, versione Java del classico Campo Minato (Prato Fiorito); – JNotePad, versione Java del Notepad di Windows; – RubricaJava, applicazione per la gestione e salvataggio su file di una rubrica di indirizzi; – SimpleJavaApp, applicazione per la gestione di un elenco di libri (con salvataggio su file). • • • • Tutte le applicazioni sono realizzate in Java Tutte le applicazioni hanno un’interfaccia utente grafica realizzata con AWT o Swing Nessuna applicazione ha bisogno di librerie supplementari, oltre quelle della sdk In ogni applicazione sono stati iniettati 4 difetti Esercizi di Testing 3 Procedimenti consigliati • Tra le attività di testing da realizzare: – Testing Black Box dell’intero sistema • Valutazione della copertura degli input e dell’interfaccia – Testing Black Box dei singoli moduli • Valutazione della copertura degli input – Testing White Box • Valutazione della copertura di righe/decisioni/etc. – Testing d’integrazione tra i moduli – Debugging e correzione dei difetti rilevati • Con conseguente riesecuzione dei casi di test che rilevavano malfunzionamenti • Dove possibile, programmare i test con Junit per una loro automatica riesecuzione Esercizi di Testing 4 Strumenti utilizzabili • Junit – per la programmazione dei casi di test • Eclipse (o altre IDE) – per lo svolgimento del debugging • CodeCover – Per la misura della copertura white box • Structure Analysis – Per la valutazione del grafo delle dipendenze • CFG generator – Per la valutazione del Control Flow Graph • Qualunque altro strumento presentato al corso • Eventuali altri strumenti reperibili in rete, in particolare per l’automazione del testing delle interfacce utente – Per questi altri strumenti, un paragrafo descrittivo del loro funzionamento deve essere allegato al documento consegnato Esercizi di Testing 5 Output da produrre • Documento descrittivo di tutti i casi di test svolti e del loro esito • Codice di tutti i test programmati in Junit • Report di copertura – Generabile automaticamente da CodeCover • Report dei difetti rilevati e delle modifiche apportate al software • Non è obbligatorio, ai fini della consegna dell’esercizio, riuscire a ritrovare tutti i difetti, ma è fondamentale documentare tutti i test effettuati e i criteri seguiti nel progettarli Esercizi di Testing 6