Dipende dalla tua applicazione. Se si scrive un convertitore e si dispone di una serie di set di input fissi, è possibile convertirli e segnalare eventuali differenze con un output di conversione precedente. Questo è un test prezioso. Se il tuo lavoro è per un cliente alla volta (il tuo progetto è per un set di dati di input), potrebbe funzionare.
Ma poi, sebbene sia un'alternativa, non fornirebbe le stesse informazioni dei test unitari. Sarebbe solo un test di regressione limitato.
la copertura del codice - sarebbe sconosciuta;
- il ciclo di test potrebbe essere più lungo, eseguendo un ciclo completo
i tuoi dati di test richiederanno tempo e faranno anche sviluppatori
riluttante a farlo dopo ogni modifica;
- l'output di riferimento potrebbe contenere errori dall'inizio, non ne sarai mai sicuro.
Alla fine è una questione di percezione. Continui a vedere i test come un ingombrante compito post-sovraccarico che l'ambiente si aspetta da te, ma preferiresti saltare per poter andare avanti, o accetterai e abbraccerai i test di adattamento come parte del lavoro di sviluppo e della tua definizione personale di fatto?
A quanto pare i tuoi sviluppatori sentono la pressione per tagliare qualche angolo. Oppure scrivere dei test è solo un lavoro noioso per loro. Forse non ottengono "punti" per loro.
È necessario essere severi nella stesura dei test delle unità? Riscontriamo un sacco di bug che sarebbero stati catturati da appositi test unitari?
Per alcune applicazioni i test di unità sono inestimabili. Per altri potrebbero non essere altro che un ciuccio. Se si hanno requisiti chiari e precisi, difficilmente si può sbagliare. Se hai solo un grosso requisito e devi capire da solo tutti i piccoli passi, i test unitari non faranno molto per te. Semplicemente affermano che il tuo piccolo processo fa quello che avevi in mente, non se ti avvicinava di più al tuo obiettivo.
Quindi, come sempre, dipende. Pensa bene a ciò che conta per il tuo progetto, cosa ha senso testarlo e provarlo. I bug che vedi potrebbero essere un indicatore.