Non è necessario che il test e il codice vengano scritti da 2 set distinti per raggiungere questo obiettivo.
TDD dovrebbe essere guidato da ATDD (test di accettazione) - i test di accettazione sono scritti dal cliente / qa per garantire che la soluzione sia la cosa giusta. Per farli passare, gli sviluppatori usano TDD per sviluppare l'implementazione. Potresti iniziare con una lista di prova su un pezzo di carta prima di arrivare alla tastiera (come suggerisce Kent Beck nei suoi libri). Inoltre, si raccomanda di lavorare a coppie, in modo che ci sia una maggiore possibilità che eventuali errori vengano rilevati in precedenza. Se si desidera coinvolgere un tester mentre si presenta la lista di test, va bene, tuttavia credo che gli sviluppatori dovrebbero essere completi e in grado di identificare tutti gli scenari da soli.
Tutti i passaggi di TDD dovrebbero essere fatti dalla stessa persona / coppia. Suddividere quel lavoro aumenterà la necessità di perdita di comunicazione / informazione. Scrivere test è un'attività non banale - l'atto stesso guida il design dei tuoi oggetti.