Quando il test dell'unità non è sufficiente (quale errore non può essere trovato oltre alla GUI)? [chiuso]

1

Sto pensando, se faccio test adeguati per tutti i metodi in tutte le mie classi, quindi - ignorando l'interfaccia utente - ho ancora bisogno di test del sistema? Voglio dire, quale sarebbe un semplice esempio, mostrando un caso in cui il test unitario non è necessario per rivelare alcuni errori? Ho provato a inventare qualcosa, ma non ci sono riuscito, potrebbe sempre essere stato catturato a livello di unità.

    
posta John V 25.04.2018 - 17:53
fonte

2 risposte

3

Pensaci in questo modo:

  • I test unitari convalidano l'implementazione
  • I test di integrazione convalidano il design
  • Behaviors (BDD) convalida le specifiche

È possibile sottoporre la propria unità a una copertura del 100% che documenta almeno un motivo per ogni linea e ramo che si trova in quell'unità. Quindi combinerai quell'unità con qualcos'altro che ha aspettative diverse su come si comporta la tua unità. Guarda un errore nel design.

    
risposta data 25.04.2018 - 17:58
fonte
1

Qualsiasi interazione tra le "Unità" del tuo test unitario non può essere testata, qualunque sia la tua scelta come "Unità".

Immagina di costruire un'auto e testare unitamente il motore e le ruote (e passano). Ora hai un motore ben funzionante e ruote ben funzionanti.
Se ora monti il motore all'esterno di una ruota, la tua auto probabilmente fallirà, perché il problema è nell'interazione tra le unità .

Ecco perché ci sono test di integrazione.

    
risposta data 25.04.2018 - 18:38
fonte

Leggi altre domande sui tag