La pratica dello sviluppo orientato al test "fuori-in" consiglia innanzitutto di codificare l'interfaccia utente, guidata da test in cui si esclude il back-end. Continui a lavorare sugli strati della tua applicazione in questo modo, testando (e codificando) ogni strato della cipolla finché non sei pronto a muoverti verso l'interno; il modello è in genere l'ultima cosa che scrivi.
Questo ha vantaggi e svantaggi. Avere un prototipo di UI funzionante che puoi mostrare ai clienti significa che puoi iterare rapidamente il design dell'interfaccia utente senza impantanarti nel modello di dati. Ti aiuta anche a mantenere l'interfaccia utente disgiunta dal modello e sembra incoraggiante avere un'interfaccia utente visibile all'inizio del processo di sviluppo.
D'altra parte, l'interfaccia utente è in genere molto più difficile da testare rispetto al modello. Richiede disciplina per ricordare di testare il codice del tuo modello a un livello inferiore e non affidarsi a test di accettazione fragili per tutti i test.
Suggerirei un approccio equilibrato, passando da stili esterni a quelli interni come è appropriato per la situazione attuale.