TDD는 '테스트 주도 개발(Test-Driven Development)'의 약자로, 코드를 작성하기 전에 먼저 테스트 코드를 작성하고, 그 테스트를 통과시킬 수 있는 최소한의 코드를 구현하는 소프트웨어 개발 방법론입니다. 이 과정을 반복하며 개발하며, 테스트 실패(Red) -> 테스트 통과(Green) -> 코드 정리(Refactor)의 3단계 사이클을 거칩니다.
TDD의 과정
- Red: 실패하는 테스트 코드를 먼저 작성합니다.
- Green: 작성한 테스트를 통과하기 위한 최소한의 코드를 작성하고 성공시킵니다.
- Refactor: 테스트가 통과되면, 코드를 더 읽기 쉽고 효율적으로 개선합니다. 이 과정에서 기능은 변경되지 않아야 합니다.
TDD의 장점
- 테스트를 먼저 작성하기 때문에 모듈화된, 의존성이 낮은 코드를 만들 수 있습니다.
- 테스트를 통해 설계 과정에서 발생할 수 있는 구조적 문제를 바로 찾아낼 수 있습니다.
- 단위 테스트 기반으로 코드가 작성되어 문제 발생 시 원인을 쉽게 찾고 수정할 수 있습니다.
- 테스트 코드가 문서의 역할을 대신할 수 있어 정확한 테스트 근거를 제공합니다.
TDD의 단점
- 짧은 개발 기간처럼 예외 상황이 명확히 예측되는 경우, 테스트 코드 작성에 비효율적일 수 있습니다.
- 프로젝트 도입 전, TDD에 대한 이해와 준비가 필요
댓글 없음:
댓글 쓰기