Ordinamento di un array
Nel programma per l’ordinamento dell’array, nella scelta dei casi di test dobbiamo tener in conto diversi aspetti: il numero n di elementi dell’array (anche n=1, n=0), la disposizione degli elementi nell’array (già ordinato, ordinato in senso decrescente, non ordinato)
Test suite
- Test case 1 - TC1 (un solo elemento)
- array di input: 5
- oracolo: 5
- Test case 2 - TC2 (input ordinato in maniera crescente)
- array di input: 1 2 3 4 5 6 7 8 9
- oracolo: 1 2 3 4 5 6 7 8 9
- Test case 3 -TC3 (input ordinato in maniera decrescente)
- array di input: 10 9 8 7 6 5 4 3 2 1
- oracolo: 1 2 3 4 5 6 7 8 9 10
- Test case 4 - TC4 (non ordinato)
- array di input: 5 8 2 9 10 1 4 7 3 6 12 11
- oracolo: 1 2 3 4 5 6 7 8 9 10 11 12
Come automatizzare il test
Per automatizzare il test si possono usare i file per leggere dati di input e scrivere dati di output
Nell’esempio dell’ordinamento dell’array, per ogni test case avremo in input (ad esempio per TC4):
- un file “TC4_input.txt” contenente gli elementi dell’array di input (uno per riga)
- un file “TC4_oracle.txt” contenente gli elementi dell’array ordinato (uno per riga) che ci si aspetta di ottenere (oracolo)
- il numero di elementi da ordinare
E in output:
- un file “TC4_output.txt” risultante dall’esecuzione del programma (output effettivo)
- indicazione dell’esito del test (PASS/FAIL)
Dati di test: esempio per TC4 (con PASS)
TC4_input.txt |
TC4_oracle.txt |
TC4_output.txt |
5 |
1 |
1 |
8 |
2 |
2 |
2 |
3 |
3 |
9 |
4 |
4 |
10 |
5 |
5 |
1 |
6 |
6 |
4 |
7 |
7 |
7 |
8 |
8 |
3 |
9 |
9 |
6 |
10 |
10 |
12 |
11 |
11 |
11 |
12 |
12 |
Dati di test: esempio per TC4 (con FAIL)
TC4_input.txt |
TC4_oracle.txt |
TC4_output.txt |
5 |
1 |
5 |
8 |
2 |
8 |
2 |
3 |
2 |
9 |
4 |
9 |
10 |
5 |
10 |
1 |
6 |
1 |
4 |
7 |
4 |
7 |
8 |
7 |
3 |
9 |
3 |
6 |
10 |
6 |
12 |
11 |
12 |
11 |
12 |
11 |