Learning
토픽 64 / 192·소프트웨어 테스트

BDD (Behavior-Driven Development)

BDD (Behavior-Driven Development)

비즈니스 행위를 중심으로, 이해관계자가 이해할 수 있는 언어로 요구사항을 명세하고 이를 자동화된 테스트로 검증하는 개발 방법론

제안자: Dan North (2006년)

특징: 유비쿼터스 언어, 협업 중심, Given-When-Then

시나리오 형식 (Gherkin)

구성요소

  • Feature: 기능 설명
  • Scenario: 구체적 시나리오
  • Given: 사전 조건
  • When: 행위/이벤트
  • Then: 예상 결과
  • And/But: 추가 조건

도구: Cucumber, SpecFlow, Behave, JBehave

장점: 비즈니스-개발 간 소통, 살아있는 문서

비교: BDD(행위/협업) vs TDD(테스트/기술) vs ATDD(인수조건)

연관: TDD, 애자일, 인수테스트