반응형
서비스를 개발하고 테스트 하는 방법은 다양하게 있다.
이번 포스팅에서는 Cucumber 테스트에 대해서 다뤄볼 것이다.
우선 위키백과에서는 아래와 같이 설명 되어있다.
Cucumber는 행동 중심 개발을 지원하는 소프트웨어 도구입니다. Cucumber BDD 접근 방식의 핵심은 Gherkin이라는 일반 언어 파서입니다. 이를 통해 예상되는 소프트웨어 동작을 고객이 이해할 수 있는 논리적 언어로 지정할 수 있습니다.
https://en.wikipedia.org/wiki/Cucumber_(software)
Cucumber는 행동중심개발(BDD / 참고 포스팅 참고) 개발시 지원이 된다고 한다.
이 말은 즉슨 시나리오가 있다는 의미로 볼 수 있다.
예상되는 결과 까지 생각을 해두고 그 시나리오대로 테스트가 되는지 확인이 되면 된다.
그러면서 함께 알아야 하는 것이 Gherkin 이라는 문법이다.
Gherkin은 Cucumber가 해석할 수 있는, 정해진 문법입니다. 보통은 이 Gherkin을 사용하여 Customer 혹은 Planner, Business Analyist가 작성한다.
Gherkin은 아래 형식들을 맞추어 하나의 텍스트파일처럼 만들어준다.
Feature : 테스트에 대상의 기능/책임을 명시한다. Scenario : 테스트 목적에 대한 상황을 설명한다. Given : 시나리오 진행에 필요한 값을 설정한다. When : 시나리오를 진행하는데 필요한 조건을 명시한다. 하나의 시나리오에 하나의 when조건을 가질것을 추천한다 하나 추가하고 싶으면 시나리오를 여러개로 쪼개야하는 신호다. Then : 시나리오를 완료했을 때 보장해야 하는 결과를 명시한다. 요약 테스트 대상은 A 상태에서 출발하며(Given) 어떤 상태 변화를 가했을 때(When) 기대하는 상태로 완료되어야 한다. (Then) 또는 Side Effect가 전혀 없는 테스트 대상이라면 테스트 대상의 환경을 A 상태에 두고(Given) 어떤 행동을 요구했을 때(When) 기대하는 결과를 돌려받아야 한다. (Then) |
참고 포스팅
https://thenicesj.tistory.com/143
반응형
'IT > Knowledge' 카테고리의 다른 글
Clean Architecture 란? (클린아키텍쳐) (11) | 2024.09.20 |
---|---|
브레인스토밍(Brainstorming) (13) | 2024.09.19 |
Regression Test (리그레션 테스트) 란? (12) | 2024.09.17 |
Middleware란? (12) | 2024.09.15 |
MES 란? (6) | 2024.09.13 |
댓글