It,develop
TDD
Yujzu
2025. 2. 4. 09:43
# TDD (Test-Driven Development, 테스트 주도 개발)
: 테스트 코드를 먼저 작성하고, 그 테스트를 통과하는 최소한의 기능을 구현하는 방식의 개발 방법론
- "기능 구현 -> 테스트" 가 아닌, "테스트 -> 기능 구현" 순서로 진행하는 개발 방식
[ TDD 의 3 단계 ]
Red- Green- Refactor
1. Red
: 실패하는 테스트 작성
- 원하는 기능을 검증하는 테스트 코드를 먼저 작성
- 이때는 기능이 없기 때문에 실행하면 테스트가 실패 (Red)
2. Green
: 테스트 통과하는 최소한의 코드 작성
- 테스트가 통과할 수 있도록 최소한의 코드만 작성
- 복잡한 최적화 없이, 단순히 "테스트를 통과하는 코드"를 먼저 작성
3. Refactor (코드 개선)
- 기능이 정상적으로 동작하면, 코드를 리팩토링하여 개선
- 불필요한 부분 정리, 중복 제거, 성믕 최적화 등 수행
=> 이 과정을 계속 반복하면서 기능을 확장해나가는 방식이 TDD 이다.
[ 장점 ]
1. 버그 예방 : 기능 개발 전 테스트를 작성하므로, 예상치 못한 오류를 방지
2. 유지보수 용이 : 코드 변경이 일어나면 테스트가 자동으로 검증한다.
3. 문석 역할 : 테스트 코드 자체가 " 이 함수는 어떤 역할을 하는지" 를 설명하는 문서가 된다.