7.15. Sommario

Il test delle unità di codice è un concetto forte che, se opportunamente implementato, può ridurre sia i costi di manutenzione che aumentare la flessibilità in ogni progetto a lungo termine. È però anche importante capire che i test delle unità di codice non sono una panacea, una bacchetta magica che risolve tutti i problemi, o una pallottola d'argento. Scrivere dei buoni test è difficile, e mantenerli aggiornati richiede disciplina (specialmente quando i clienti vi stanno chiedendo a gran voce la soluzione di qualche problema critico nel software). I test delle unità di codice non sono un sostituto per le altre forme di verifica del codice, tra cui i test funzionali, i test di integrazione e i test di accettazione. Rappresentano tuttavia una pratica realizzabile, e funzionano, ed una volta che li avrete provati vi chiederete come avete fatto ad andare avanti senza di loro.

Questo capitolo ha trattato di un mucchio di cose e molte di esse non erano specifiche di Python. Ci sono infrastrutture per i test delle unità di codice in molti linguaggi, ciascuna delle quali richiede che si capiscano gli stessi concetti di base:

  • Progettare test che siano specifici, automatici ed indipendenti
  • Scrivere i test prima di scrivere il codice da verificare
  • Scrivere test che usano input validi e controllano la correttezza del risultato
  • Scrivere test che usano input non validi e controllano che il programma fallisca nel modo atteso
  • Scrivere nuovi test e tenere aggiornati quelli esistenti per documentare i bachi trovati o per verificare l'implementazione di nuovi requisiti
  • Rifattorizzare senza rimorsi per migliorare prestazioni, scalabilità, leggibilità, manutenibilità, o qualunque altra “-ità” sia necessaria

In aggiunta, dovreste ora essere a vostro agio nell'eseguire una delle seguenti attività specifiche di Python:

Ulteriori letture