Qual è la differenza tra la creazione di un'applicazione Outside In e la costruzione Inside Out utilizzando TDD?
Questi sono i libri che ho letto su TDD e test unitari:
Sviluppo guidato dai test: da esempio
Sviluppo guidato dai test: una guida pratica: una guida pratica
Soluzioni reali per lo sviluppo di framework PHP di alta qualità e applicazioni
Sviluppo guidato dai test in Microsoft. NET
xUnit Test Patterns: Codice di test refactoring
L'arte del test unitario: con esempi in .Net
Software orientato agli oggetti in crescita, guidato da test ---> Questo è stato davvero difficile da capire poiché JAVA non è la mia lingua principale :)
Quasi tutti hanno spiegato le basi del TDD e i test unitari in generale, ma con poca menzione dei diversi modi in cui l'applicazione può essere costruita.
Un'altra cosa che ho notato è che la maggior parte di questi libri (se non tutti) ignorano la fase di progettazione durante la scrittura dell'applicazione. Si concentrano maggiormente sulla scrittura rapida dei casi di test e sulla creazione del design da solo.
Tuttavia, mi sono imbattuto in un paragrafo in xUnit Test Patterns che ha discusso di come le persone si avvicinano al TDD. Ci sono 2 scuole là fuori Outside In vs Inside Out .
Purtroppo il libro non elabora di più su questo punto. Vorrei sapere qual è la differenza principale tra questi 2 casi.
Quando dovrei usare ognuno di essi?
Per un principiante TDD quale è più facile da capire?
Quali sono gli svantaggi di ciascun metodo?
C'è qualche materiale là fuori che discute specificamente di questo argomento?