Unità: un'unità multithread legge i dati di una coda e la elabora, inviandola a un'altra coda. Quando l'ultimo elemento viene elaborato (valore null trovato) il processo si interrompe.
Test: posiziona una serie di dati noti nella coda ed esegui. Verifica che i dati inseriti nella coda di output siano corretti.
Se l'unità è programmata in modo errato, può continuare a provare a leggere ed elaborare i null della coda. Questo può o non può comportare un'eccezione (utilizzando Java come lingua di esempio). Quindi questo test potrebbe in teoria causare un loop infinito.
Il test dovrebbe tenere traccia del numero di elementi letti dalla coda e generare un errore se viene letto più del numero specificato di elementi? o il test continuerà a funzionare, sapendo che il corridore (umano) vedrà che non sta finendo?