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