TDD (테스트 주도 개발) & BDD (행위 주도 개발)
별점: ★★★★☆ | 기본 필수
답안.
Ⅰ. 개요
① Red: 실패하는 테스트 작성 (코드 없음) ② Green: 테스트를 통과하는 최소 코드 작성 ③ Refactor: 코드 개선 (테스트는 통과 유지)
Ⅱ. 핵심 구성요소
[Red-Green-Refactor 사이클]
① Red: 실패하는 테스트 작성 (코드 없음)
② Green: 테스트를 통과하는 최소 코드 작성
③ Refactor: 코드 개선 (테스트는 통과 유지)
원칙:
- 실패 테스트 없이는 운영 코드 금지
- 컴파일 에러도 하나씩 해결
- 리팩토링은 모든 테스트 통과 후
효과:
- 설계 개선 (테스트 가능성 = 좋은 설계)
- 회귀 방지 (자동화된 회귀 테스트)
- 문서화 (테스트 = 살아있는 명세)
Given-When-Then 시나리오:
"주문 시나리오"
Given: 사용자가 로그인되어 있고 상품이 재고에 있을 때
When: 사용자가 상품을 장바구니에 담고 결제하면
Then: 주문이 생성되고 재고가 감소해야 한다
도구: Cucumber (Java), Behave (Python), SpecFlow (.NET)
효과: 비기술 이해관계자도 시나리오 검토 가능
해당 키워드의 기술적 구성요소와 동작 원리를 서술한다.
Ⅲ. 특징 및 비교
핵심 기술의 장단점과 유사 기술과의 차이를 분석한다.
Ⅳ. 적용 사례
실무 환경에서의 적용 사례와 기대효과를 제시한다.
Ⅴ. 전망
최신 기술 동향과 향후 발전 방향을 서술한다.