TDD
📌 TDD(Test Driven Development)란?
info
TDD는 Test Driven Development(테스트 주도 개발)의 약자로,
실제 기능 코드를 작성하기 전에 테스트 코드를 먼저 작성하는 개발 방법론이다.
테스트가 코드 설계의 기준이 되며, 테스트에 맞춰 기능을 점진적으로 구현해 나가는 방식이다.
✅ TDD의 3단계 사이클 (Red → Green → Refactor)
- Red – 실패하는 테스트 작성
- 아직 기능이 없기 때문에 테스트는 실패함
- Green – 테스트 통과하는 최소한의 코드 작성
- 테스트를 통과할 수 있도록 기능 구현
- Refactor – 중복 제거 및 코드 개선
- 테스트 통과를 유지하면서 코드 품질 향상
✅ TDD의 장점
- 결함 예방: 테스트를 통한 사전 검증
- 명확한 요구사항 정의: 테스트가 명세 역할 수행
- 리팩토링 용이성: 테스트가 안전망 역할
- 문서 대체: 테스트 자체가 사용 예시가 됨
✅ TDD와 BDD 비교
항목 | TDD | BDD |
---|---|---|
중심 | 기능 중심 | 사용자 행동 중심 |
테스트 문법 | Assert 중심 (AAA) | Given-When-Then |
협업 대상 | 개발자 중심 | 기획/QA 포함 |
언어 | 기술적 표현 | 도메인 기반 표현 |
✅ TDD 도구
- Java: JUnit, AssertJ, Mockito
- JavaScript: Jest, Mocha, Cypress
- Python: unittest, pytest
- C#: NUnit, xUnit
✅ TDD 실전 예시 (Java + JUnit)
@Test
public void testAdd() {
Calculator calc = new Calculator();
int result = calc.add(2, 3);
assertEquals(5, result);
}
연결문서
- [[BDD
댓글남기기