Il testing automatico

L'esecuzione manuale del programma per verificare la correttezza dei risultati generati è una procedura comune, ma talvolta inaffidabile e spesso tediosa, in quanto va ripetuta molto spesso durante lo sviluppo del programma.

L'utilizzo di strumenti per la verifica automatica consente una scrittura rapida dei programmi ed una riduzione sistematica del numero di bug. Questa è una pratica ormai consolidata nel moderno sviluppo software, e viene chiamato testing automatico.

Uso di pvcheck per il testing

In questa esercitazione, e in quelle successive, si farà uso del programma pvcheck per l'esecuzione automatica di una sequenza di test predefiniti. Il software esegue il programma in esame e confronta i valori che produce con quelli corretti. Eventuali errori sono stampati a video.

pvcheck è un programma open source il cui codice sorgente completo è disponibile gratuitamente su github. Per essere eseguito richiede l'installazione del linguaggio Python (versione 3.4 o superiore). Python solitamente si trova già installato nei sistemi Linux. È già installato nell'ambiente online configurato per le esercitazioni. Se si utilizza invece Cygwin sotto Windows, Python può essere installato mediante l'apposito programma di setup.

Per comodità, è possibile scaricare una versione eseguibile, invece di utilizzare il codice sorgente linkato precedentemente, che richiede una conoscenza un po' più avanzata degli strumenti necessari. pvcheck viene utilizzato da terminale. Per verificare se è installato e correttamente eseguibile, si può invocare con il seguente comando da terminale:

pvcheck --help

Varianti del comando

Normalmente il comando pvcheck viene invocato come segue:

pvcheck ./nome-del-file-eseguibile

dove nome-del-file-eseguibile è, appunto, il nome del file eseguibile.

Tieni presente che pvcheck è un comando che si esegue da terminale, come tanti altri (ls, cp, ecc.). il comando precedente funziona quando pvcheck è installato in directory di sistema.

Talvolta pvcheck viene fornito come programma collocato nella directory corrente. In questo caso il comando per l'invocazione è leggermente diverso:

./pvcheck ./nome-del-file-eseguibile

dove i caratteri ./ iniziali servono ad indicare alla shell che va eseguito il programma pvcheck contenuto nella directory corrente.

File di test

Per poter utilizzare pvcheck occorre disporre dei dati, opportunamente codificati, relativi ai test da condurre. Tali dati verranno messi a disposizione insieme al testo degli esercizi sotto forma di file con l'estensione .test.

Formato dell'output del programma

Per poter effettuare la verifica è necessario che l'output del programma da verificare sia formattato secondo le modalità previste da pvcheck. Per fare questo è sufficiente far precedere ciascun risultato da un opportuno marcatore, racchiuso tra parentesi quadre. Per esempio, il seguente output potrebbe essere stampato dal programma che calcola la conversione da euro in dollari:

[DOLLARI]
145.52