감자주먹밥

BDD 행동 주도 개발 본문

IOS/Test

BDD 행동 주도 개발

JustHm 2023. 2. 2. 14:15
728x90

BDD(Behavior Driven Development)

BDD는 TDD에 기반을 두고 있는 행동 주도 개발 방법으로 테스트 보단 행위에 중점을 두고 개발하는 방법이다.

TDD와 BDD 차이점

  •  BDD는테스트케이스 자체가 요구사항이 되도록 하는 개발 방법이다.

이미 작성된 요구사항이나 기획서가 있다면 그걸 따라 BDD 방법으로 테스트 케이스를 작성해 TDD보다 빠르게 테스트를 작성하고 검증할 수 있다.

 

TDD, BDD는 상호보완적인 관계다.각자 장점을 살려 테스트를 작성할 때 두 방법을 동시에 사용할 수 있다. BDD로 시나리오를 검증하고, TDD로 시나리오에 사용되는 모듈들을 검증하는 방식으로 사용하면 좋다.

BDD 작성

BDD 방법으로 테스트 케이스 작성할 땐 요구사항을 받아 설계하는 사람과의 협업, 소통을 위해 개발자가 아닌 사람이 봐도 이해할 수 있는 정도로 작성해야한다. 간략하게 개발자가 아닌 프로젝트 참여자와도 소통, 협력이 가능해야한다.

테스트 케이스 작성은 3가지의 흐름으로 작성하는 걸 권장하고 있다.

  • Given : 시나리오 진행에 필요한 값을 설정한다. (시나리오 정의)
  • When : 시나리오를 진행하는데 필요한 조건을 명시한다. (시나리오 조건)
  • Then : 시나리오를 완료했을 때 보장해야 하는 결과를 명시한다. (시나리오 완료시 보장되는 결과 명시)

 

Kakao If 에서 BDD에 대해서 자세히 알아보는 세션이 있어 이 영상이 도움이 된다.

https://tv.kakao.com/v/414004682

Swift에서는 BDD 프레임 워크로 Quick이 있다.


 

 

지금 당장 (유사) BDD 시작하기

간단하게 BDD를 적용해보고 기존과 다르게 개발했던 경험 원티드 앱 4.6.11의 새로운 기능 중에서 이벤트 '관심 키워드'를 설정하면, 알림으로 빠르게 이벤트 정보를 확인할 수 있는 기능을 구현하

velog.io

 

728x90
Comments