BDD / Gherkin / Cucumber

소만이·2024년 4월 13일
post-thumbnail

BDD 와 Gherkin 의 정의가 헷갈려 정리해보고자 한다.

BDD

-개발 방법론 중 하나로, 소프트웨어 개발과정에서 요구사항을 정의하고 구현하는 방법론이다.
BDD는 소프트웨어의 기능이나 기술적인 구현에 집중하기보다는 사용자의 관점에서 소프트웨어가 어떻게 동작해야 하는지, 즉 "행위"에 초점을 맞춘다.

예를 들면
명세1. 로그인 화면 개발 시 동작:
로그인 버튼을 누른다 - 로그인 화면이 나온다

이런 명세를 보고 개발 및 테스트 코드를 짜야지 라고 생각하는 것이 BDD 개발 방법론을 사용해서 구현하는 것이다.

그리고 이 명세를 가지고 사용되는 문법이 Gherkin이다.

Gherkin

소프트웨어 개발에서 사용되는 요구 사항과 기능을 명확하게 표현하기 위한 문법이다. 사용자의 관점에서 시스템이 어떻게 작동해야하는지를 서술하는데 사용된다.

위에 명세로 예를 들자면

Scenario: 로그인 화면 개발 시 동작
	Given 사용자가 메인 화면에 있다
    When 로그인 버튼을 누른다
    Then 로그인 화면이 나타난다

이렇게 Gherkin 문법으로 시나리오를 만드는 것이다. 이러한 시나리오는 개발자, 테스터, 비즈니스 이해 관계자 모두가 이해하기 쉽다. 이 시나리오를 기반으로 자동화된 테스트를 작성할 수 있으, 명세에 따라 소프트웨어가 제대로 작동하는지 검증할 수 있다.

Cucumber

소프트웨어 개발에서 사용되는 오픈 소스 테스트 프레임워크 중 하나로, BDD 방법론을 지원한다. Gherkin을 사용하여 작성된 시나리오를 자동화된 테스트로 변환하는데 도움을 주는 도구이다.
Cucumber는 개발자, 테스터, 비즈니스 이해관계자 간의 협업과 커뮤니케이션을 강화한다.

0개의 댓글