TDD 란?
- 테스트 주도 개발(Test Driven Development) 이라는 의미
- 단순하게 테스트를 먼저 설계 및 구축 후 테스트를 통과할 수 있는 코드를 짜는 것
- 애자일(Agile) 개발 방식 중 하나
- 코드 설계 시 원하는 단계적 목표에 대해 설정하여 진행하고자 하는 것에 대한 결정 방향의 갭을 줄이고자 함
- 최초 목표에 맞춘 테스트를 구축하여, 그에 맞게 코드를 설계하기 때문에 보다 적은 의견 충돌을 기대할 수 있음
테스트 코드의 작성 목적
- 코드의 안정성을 높일 수 있음
- 기능을 추가하거나 변경하는 과정에서 발생할 수 있는 Side-Effect를 줄일 수 있음
- 해당 코드가 작성된 목적을 명확하게 표현할 수 있음
- 테스트 코드는 동작 코드의 설계 도면과 같기 때문