IT용어위키


Gherkin 문법

Gherkin은 행동 주도 개발(BDD, Behavior-Driven Development)에서 사용하는 도메인 특화 언어(Domain-Specific Language)로, 소프트웨어의 동작이나 요구사항을 사람이 읽기 쉬운 자연어 스타일로 기술할 수 있게 해준다.

개요

Gherkin은 개발자뿐 아니라 기획자, QA, 비즈니스 담당자 등 기술 배경이 서로 다른 사람들이 공통의 언어로 소프트웨어의 동작을 정의하고 공유할 수 있도록 설계된 언어이다. 이 언어로 작성된 시나리오는 자동화 테스트 도구(Cucumber, Behat 등)에서 실행 가능한 명세이자 문서로 활용된다.

문법 구조 및 주요 키워드

Gherkin 문법은 여러 예약 키워드를 사용하여 기능(feature)과 동작 시나리오를 구조화한다.

  • Feature: 하나의 기능 또는 기능 단위를 설명하는 블록. 예: 로그인, 상품 주문, 회원 가입 등
  • Scenario: Feature 안에서 특정 동작 흐름 또는 조건을 테스트하는 하나의 사례
  • Given: 시나리오가 시작되기 전에 주어지는 조건 또는 초기 상태 (예: 사용자가 로그인 페이지에 있다)
  • When: 사용자의 행동 또는 시스템에서 발생하는 이벤트 (예: 로그인 버튼을 누른다)
  • Then: 기대되는 결과 또는 시스템의 반응 (예: 대시보드로 이동한다)
  • And / But: 위 키워드들과 함께 조건이나 결과를 추가로 서술할 때 사용
    • And는 바로 이전에 사용된 키워드(Given, When, Then)의 문맥을 따라 동작하며, But은 같은 방식으로 동작하되, 그 중에서 예외적 상황이나 반대 조건을 표현할 때 사용된다.  
    • 예를 들어, Given 이후에 And를 쓰면 And는 추가적인 조건을 나타내며, When 다음에 And가 오면 추가적인 행동을 의미한다.  
  • 주석: # 기호로 시작하는 줄은 주석 처리된다
  • Gherkin 파일 확장자: .feature

예시

Feature: 사용자 로그인

  Scenario: 유효한 사용자로 로그인 성공
    Given 등록된 사용자 "[email protected]" 이 있다
    And 사용자가 로그인 페이지에 있다
    When 사용자가 유효한 자격 증명으로 로그인 시도하면
    Then 사용자는 대시보드 페이지로 리다이렉트 된다
    And 세션이 활성화된다

이와 같이 작성된 시나리오는 비기술자도 읽기 쉬우며, 테스트 자동화 도구로 해석하여 실제 동작을 검증할 수 있다.

장점

  • 사람이 읽기 쉬운 자연어 기반 문법
  • 비즈니스, 기획, QA 등 비개발자와의 소통에 유리
  • 자동화 테스트와 문서화가 동시에 가능
  • 명세 기반 테스트로 개발 전 요구사항 명확화

유의사항

  • Scenario에는 하나의 행동 흐름만 기술하는 것이 좋다
  • 너무 기술적인 세부사항은 피하고, 비즈니스 요구 중심으로 작성할 것

같이 보기

각주


  출처: IT위키 (IT위키에서 최신 문서 보기)

  * 본 페이지는 IT Wiki에서 미러링된 페이지입니다. 일부 오류나 표현의 누락이 있을 수 있습니다. 원본 문서는 IT Wiki에서 확인하세요!