Peter Cho

BDD & TDD

2018.08.30 | 0 Minute Read

TDD

  • 테스트 코드 작성
  • 테스트 실행
  • 개발 코드 작성
  • 테스트 실행 및 반복
  • 테스트 통과시 리펙토링

이러한 작업들을 반복해 본질적으로 필요한 코드만 작성하고 코드의 신뢰성을 높이는 데 포커스된 개발 방법론

BDD

TDD의 단점은 코드 관점으로 테스트를 작성하여 코드 수정 시 불필요한 테스트 코드 수정사항이 발생한다.

이러한 상황을 해결하기 위해 BDD 방밥론이 나왔는 데 사용자 시나리오 관점으로 suite를 작성한다.

사용자 관점에서 기능 단위로 작성하며 개발 코드 변경시 테스트 코드가 변경되지 않도록 행동 단위로 작성한다.

기본적으로 테스트 코드 작성 순서는 아래와 같이 한다.

  • Feature : 테스트에 대상의 기능/책임을 명시한다.
  • Scenario : 테스트 목적에 대한 상황을 설명한다.
  • Given : 시나리오 진행에 필요한 값을 설정한다.
  • When : 시나리오를 진행하는데 필요한 조건을 명시한다.
  • Then : 시나리오를 완료했을 때 보장해야 하는 결과를 명시한다.