I test manuali e i test unitari sono progettati per scopi diversi * , quindi la risposta è "sì" - sostituire l'uno con l'altro è una pratica pericolosa.
Le unit test stabiliscono le tue ipotesi sul tuo codice sotto forma di asserzioni che fai durante i tuoi test. Insieme ai test di integrazione automatizzati, i test unitari contribuiscono a garantire che il software esegua ciò che si ritiene debba fare. Se fatti correttamente, dovrebbero darti un alto livello di sicurezza nella correttezza del tuo software. I test automatici non richiedono molto tempo e sono meno soggetti a errori.
Tuttavia, spesso non è pratico eliminare tutti i test manuali. Le aree specifiche di interesse includono l'integrazione con altri prodotti che è necessario utilizzare, come installatori, browser Web e sistemi operativi. Come minimo, qualcuno deve installare il prodotto prima della spedizione e vedere se si avvia o aprire il tuo prodotto nel browser per vedere se la grafica rimane nei posti giusti. Tutto ciò può essere automatizzato, ma lo sforzo per realizzarlo non ne vale la pena, soprattutto perché stiamo parlando di una lista di controllo di dieci minuti.
Se parliamo della distinzione specifica "test manuale vs. test unitario", i due concetti non affettano lo spazio del test del software nella stessa dimensione: oltre ai test unitari, sono necessari test di integrazione, test di regressione, e prove di stress. Questi sono solitamente automatizzati, ma possono essere fatti manualmente. Inoltre, anche il collaudo dell'unità può essere eseguito manualmente con un piccolo aiuto di un driver software. Ecco perché sostituire l'uno con l'altro non è un buon paragone: se i test manuali riguardano test di unità, test di regressione, test di stress e test di integrazione, sostituirli con test di unità automatizzate non è uno scambio equo. Se il divario è colmato con altri media di test automatici, allora è possibile spostare un po 'di peso dal test manuale al test unitario, ma non si riuscirebbe a eliminare completamente il test manuale.
* Poiché
Jimmy Hoffa fa correttamente attenzione, ci sono aziende che (male) usano test manuale nelle aree in cui il test unitario è molto più appropriato. In casi come quello, passare ai test unitari non è pericoloso, anzi, è altamente auspicabile.