TDD (테스트 주도 개발) & BDD (행위 주도 개발)

별점: ★★★★☆ | 기본 필수


답안.

Ⅰ. 개요

① Red: 실패하는 테스트 작성 (코드 없음) ② Green: 테스트를 통과하는 최소 코드 작성 ③ Refactor: 코드 개선 (테스트는 통과 유지)

Ⅱ. 핵심 구성요소

[Red-Green-Refactor 사이클]
① Red: 실패하는 테스트 작성 (코드 없음)
② Green: 테스트를 통과하는 최소 코드 작성
③ Refactor: 코드 개선 (테스트는 통과 유지)

원칙:
- 실패 테스트 없이는 운영 코드 금지
- 컴파일 에러도 하나씩 해결
- 리팩토링은 모든 테스트 통과 후

효과:
- 설계 개선 (테스트 가능성 = 좋은 설계)
- 회귀 방지 (자동화된 회귀 테스트)
- 문서화 (테스트 = 살아있는 명세)
Given-When-Then 시나리오:
"주문 시나리오"
Given: 사용자가 로그인되어 있고 상품이 재고에 있을 때
When: 사용자가 상품을 장바구니에 담고 결제하면
Then: 주문이 생성되고 재고가 감소해야 한다

도구: Cucumber (Java), Behave (Python), SpecFlow (.NET)
효과: 비기술 이해관계자도 시나리오 검토 가능

해당 키워드의 기술적 구성요소와 동작 원리를 서술한다.

Ⅲ. 특징 및 비교

핵심 기술의 장단점과 유사 기술과의 차이를 분석한다.

Ⅳ. 적용 사례

실무 환경에서의 적용 사례와 기대효과를 제시한다.

Ⅴ. 전망

최신 기술 동향과 향후 발전 방향을 서술한다.