TDD 정의
- 일종의 개발 패턴
- 바로 개발을 하는 것이 아니라 개발하려는 항목에 대한 점검 사항을 테스트 코드로 만들어 그 테스트를 통과하는 방식으로 개발을 진행하는 방식
TDD를 사용하는 이유
- 프로그램이 복잡해 질수록 추가한 기능들 사이에 연관성이 점점 커짐
- 그러므로 점검해야하는 사항이 기하급수적으로 많아짐
- 즉, 프로그램이 복잡해 질수록 매번 코드를 작성해서 테스트를 하기 힘들어짐
- 테스트 주도 개발을 하면 기능을 추가할 때마다 자동으로 테스트를 만족하는지 확인하기 때문에 훨씬 효율적임