Chap 02. TDD 시작
2022. 7. 20. 13:12ㆍ개발 관련 책 읽기/테스트 주도 개발
목표 : 먼저 TDD에 대한 개념과 프로세스를 이해해보자.
TDD란
테스트 주도 개발(Test-Driven Development, TDD)은 매우 짧은 개발 사이클 반복하는 개발 방법 중의 하나이다.
미국의 S/W 개발자이자 익스트림 프로그래밍 창시자인 Kent Beck이라는 분이 창시한 개발 방법론이다.
먼저, 요구사항을 검증하는 테스트 케이스를 작성 후, 그 테스트 케이스를 통과할만큼 코드를 생성 후 마지막으로 리팩토링을 하는 방식이다.
TDD 이전의 개발 방식
1. 기능에 대한 분석 및 설계
2. 기능 구현
3. 구현 코드에 대한 테스트 및 디버깅
TDD전의 개발방식은 한 번에 작성한 코드가 많을수록 테스트와 디버깅하는 시간에 대해 길어져서 비효율적인 시간낭비가 생기게 되었다.
TDD 개발 방식
1.기능이 올바르게 동작하는지 검증하는 테스트 코드부터 먼저 작성한다.
2.테스트 코드 작성 완료 후 실제 구현 코드를 작성한다.
TDD 개발 방식의 흐름
- 테스트 코드를 먼저 작성한다.
- 작성한 테스트를 통과하지 못하면 테스트를 통과할 만큼만 Product 코드를 작성한다.
- 테스트 통과한 뒤에는 개선할 코드가 있으면 리팩토링 한다.
- 리팩터링 수행 후 다시 테스트를 실행해서 잘 되는지 확인한다.
- 이러한 과정을 반복해서 점진적으로 기능을 완성해 나가는 것, 이것이 전형적인 TDD의 흐름이다.
레드-그린-리팩터
TDD 사이클을 레드-그린-리팩터로 부르기도 한다.
- 레드 :실패하는 테스트
- 그린 :성공한 테스트
- 리팩터 : 리팩토링 과정
TDD 특징
- 테스트가 개발을 주도한다
- 지속적인 코드 정리(리팩토링)
- 빠른 피드백
참고자료
반응형
'개발 관련 책 읽기 > 테스트 주도 개발' 카테고리의 다른 글
Chap 01. TDD 준비 (0) | 2022.07.20 |
---|---|
테스트 주도 개발 시작하기 (0) | 2022.07.04 |