Testing
Posso usare il testing a diverso livello ad esempio testare se il programma produce il giusto output o c’è un problema.
Il test mostra quando ci sono errori, non quando non ce ne sono ⇒ se non ci sono errori, non vuol dire che non esistono, semplicemente non li ho trovati.
Obiettivi:
- behaviour non desiderati
- il sistema funziona bene sia in casi previsti che non (gestisce gli errori).
Posso pensare ai casi estremi o manualmente, o facendo generare da un modello dei casi e degli scenari particolari.
Inspection
Viene fatta manualmente una review del codice.
Vantaggi:
- errori possono nascondere altri errori
- non devo per forza fare un’implementazione
Ad esempio se l’idea e il codice sono brutti posso dirlo da subito, senza scrivere o implementare nulla.