Q. TDD란?

개발 전에 요구사항 명시시 테스트 케이스를 먼저 만들고, 그것을 충족하는 개발을 진행하는 것이다.

Q. 비TDD란?

개발을 먼저 진행하고, 테스트 케이스를 그 이후에 작성하여 테스트를 진행하는 것이다.

 

Q. BDD와 TDD란?

- 기본적인 TDD는 메소드(또는 모듈) 위주의 테스트 케이스를 작성하여 기능을 개발하는 것을 의미한다.

- 그러다보니, 요구사항 정의 이외에 테스트 케이스 창작의 고통에 빠지게 되는 문제점이 존재하였다.

- BDD는 TDD에서 파생되었지만, 사용자(User) 행위(Action) 중심으로 Given When Then 테스트케이스를 작성하여, 테스트 케이스만으로 기획서의 역할을 하게 된다.

- BDD 형식의 테스트 케이스만 작성하면, 원하는 수준의 테스트 커버리지는 충족하지 못하므로 TDD 형식의 테스트 케이스도 작성이 필요하다.

- 결국은 BDD, TDD도 개발 방식을 의미하는데, 선테스트케이스 작성 후개발의 개발 방식이라는 점이 공통점이고, 테스트케이스 작성을 무엇에 포커스를 맞추느냐에 따라 차이점이 존재한다. 결국은 상호보완적 관계이므로, BDD를 채택했다고 하더라도 원하는 수준의 테스트 커버리지를 충족하려면 TDD 방식의 세부 테스트케이스를 작성해야한다.

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기