Test Driven Development(TDD)
→ 반복 테스트를 이용한 소프트웨어 방법론
- 코드 작성 전 작은 단위의 테스트 케이스 작성
- 작성한 테스트 케이스를 통과시키는 코드 작성
- 짧은 개발 주기 반복하는 개발 프로세스
- 단순한 설계 중요
개발 절차
Write Failing Test
- 실패하는 테스트 코드 작성Make Test Pass
- 테스트 코드를 성공하기 위한 실제 코드 작성Refactor
- 리팩토링 수행
장점
- 코드 품질 향상 및 코드 정확성 보장
- 초기 오류 감소 및 디버깅 시간 단축
- 기능 단위 테스트로 빠른 피드백 가능
- 코드 사용법 문서화
- 안전한 리팩토링 제공
- 추가 기능 구현 용이
단점
- 초기에 테스트 작성으로 인해 많은 시간 소모 (생산성 저하)
- 특정 요구사항의 경우 테스트 케이스 작성 어려움