CodeStart.it
Corsi Java Testing e debug
King · Applica · Capitolo 18 di 19

Testing e debug

JavaLettura + laboratorioCorso gratuito
Che cosa imparerai

I test verificano comportamenti precisi e aiutano a modificare il codice senza introdurre regressioni.

1. Il concetto, spiegato da zero

I test verificano comportamenti precisi e aiutano a modificare il codice senza introdurre regressioni.

Un test confronta risultato atteso e reale. Nei progetti Java JUnit è una libreria diffusa; l’esempio usa una semplice verifica senza librerie per essere avviabile subito.

2. Un esempio ragionato

Osserva l’esempio e leggi ogni istruzione nell’ordine. Prima di provarlo, fermati a prevedere cosa succederà; capire il motivo del risultato è più importante che memorizzare la sintassi.

Codice di esempio · Java
public class Main {
  static int doppio(int n) { return n * 2; }
  public static void main(String[] args) {
    if (doppio(4) != 8) throw new AssertionError("Test fallito");
    System.out.println("Test superato");
  }
}

Come leggere questo esempio

  1. Prima di eseguire, prova a prevedere il risultato dell’esempio.
  2. Spiega con parole tue in che modo “testing e debug” risolve un problema concreto.
  3. Rileggi ogni riga del programma e individua i valori che vengono creati o modificati.
  4. Modifica un valore; confronta il comportamento e annota che cosa è cambiato.
Errore frequente
Testare solo il caso normale non basta: prova anche input vuoti, numeri negativi e situazioni limite.

3. Adesso tocca a te

Obiettivo dell’esercizio: Scrivi un test sul metodo doppio e fallo passare.

Puoi partire dall’esempio, riprodurlo e poi modificarlo. La soluzione di riferimento è disponibile sotto, ma conviene aprirla soltanto dopo un primo tentativo.

Laboratorio: metti alla prova il codice

JAVA · java

L’esempio Java è pensato per IntelliJ/JDK: il controllo guidato cerca elementi nel codice ma NON compila né esegue Java nel browser.

Output / esito del controllo

Il risultato comparirà qui.
Mostra la soluzione di riferimento
Codice di esempio · Java
public class Main {
  static int doppio(int n) { return n * 2; }
  public static void main(String[] args) {
    if (doppio(4) != 8) throw new AssertionError("Test fallito");
    System.out.println("Test superato");
  }
}

Confronta il tuo procedimento con quello dell’esempio. Una soluzione differente può essere altrettanto valida se produce risultati corretti.

4. Verifica e ripasso

Quiz: hai capito il concetto?

Quale delle seguenti affermazioni è corretta per questo capitolo?

Seleziona una risposta

Promemoria

Un test confronta risultato atteso e reale. Nei progetti Java JUnit è una libreria diffusa; l’esempio usa una semplice verifica senza librerie per essere avviabile subito.

5. Come proseguire

Prima del capitolo successivo, prova a spiegare il concetto a un amico senza leggere il codice. Se non riesci, torna all’esempio e fai una nuova variante: imparare significa anche sperimentare.

← Capitolo precedente