MyLeoNes™

Testare i programmi — Informatica, 7–10

Un programma può funzionare senza bloccarsi e dare comunque una risposta sbagliata. Testare significa provare esempi preparati, compresi casi insoliti, per controllare che si comporti come previsto prima che qualcuno si affidi a lui.

Fare domande al programma

Testare è come controllare una torcia con batterie nuove prima di uscire. Dai un dato al programma, prevedi il risultato, lo avvii e confronti ciò che succede con ciò che dovrebbe succedere. Una prova riuscita è utile, ma non dimostra che ogni situazione sia corretta.

Perché testare?

Un programma può ricevere moltissimi dati, e una persona può capire male una regola o dimenticare un caso limite. Un test trova questi problemi mentre il programma è ancora in costruzione, quando è più facile modificarlo. Non si testano solo i programmi che sembrano guasti: una risposta sbagliata ma silenziosa può essere più pericolosa di un blocco.

Testare una regola di punteggio

Un gioco dice che un giocatore riceve 3 punti per ogni stella. Prima, prevedi un test con 0 stelle: il punteggio dovrebbe essere 0. Poi prova con 2 stelle: 2 × 3 fa 6. Infine prova con 10 stelle: la risposta dovrebbe essere 30. Se il programma dice 9 con 2 stelle, bisogna controllare la regola o il codice.

Se funziona, allora è giusto

Un programma che si apre e risponde può sembrare finito, quindi è naturale fidarsi. Ma eseguirlo mostra solo che quel percorso ha funzionato; non controlla tutti i dati o tutte le scelte. Prova valori normali, zero, il minimo e il massimo permessi e un caso inatteso, se le regole dicono di gestirlo.

Testare nella vita reale

Prima di fidarsi di un'app meteo, di una macchina per i biglietti o di un orario scolastico, chi li crea prova molte situazioni. Può controllare una giornata molto calda, un treno pieno o una data di vacanza. Anche tu testi quando provi una ricetta nuova o controlli un modello di ponte, confrontando ciò che aspettavi con ciò che accade.

Continua a esplorare

Altre lingue

Caricamento di MyLeoNes™…