(링크)@스택오버플로우

A common misconception about TDD is that TDD drives the entire design of a software project, that a complete software architecture naturally emerges from writing tests and getting them to pass.

That's not how TDD works. You still have to design your software.


(링크)@ThinkSys >> TDD - Myths and Misconceptions

TDD is a software design method for better design (<- 주: 이게 오해라는 뜻)

- Technically, TDD is not really a software design methodology but it does lead to better software design!

...(중략)...

But the application design still needs to be catered to by having a clear idea of things like

data structures, design patterns, overall system architecture, feasibility, and scalability considerations.


TDD에 대해 내가 가지고 있던 생각은

소프트웨어 디자인이 언제나 TDD flow에서 자연스럽게 (혹은 필연적으로) 튀어나오도록 테스트를 작성해야한다

는 것이었는데 그게 아니었네요.

TDD가 만능이 아니라는 말을 다시 상기해야겠습니다.