TDD는 Test Driven Development의 약자로 테스트 주도 개발이란 의미이다.
TDD는 단위 테스트 케이스를 작성하고 이를 테스트해보며 코드를 추가하는 방식으로 진행한다.
단위 테스트를 통해 코드가 완성된다면 통합 테스트로 전체적인 테스트를 진행한다.
미리 작성해둔 코드를 테스트해보며 수정하기도 하지만 테스트 코드를 미리 작성해두고 이에 맞추어 코드를 작성하기도 한다.
일반 개발 과정은 디자인 > 코드개발 > 테스트 > 수정 식으로 진행된다.
TDD는 단위 테스트 작성(Unit Test) > CRUD 코드 작성 > 통합 테스트 작성(Integration Test) 식으로 진행된다.
개발자마다 TDD에 대한 평가가 다르다. 반드시 필요하다고 주장하는 개발자가 있는 반면 필요 없다고 주장하는 개발자도 있다.
정답은 없다. 직접 진행해보고 판단하면 된다.