bdd framework
BDD (행동 기반 개발) 프레임 워크 자습서 : Cucumber 프레임 워크 예제를 통해 BDD 프레임 워크의 기능 및 장점 살펴보기
BDD 프레임 워크 즉, Behavior Driven Development는 테스터 / 비즈니스 분석가가 간단한 텍스트 언어 (영어)로 테스트 사례를 만들 수 있도록하는 소프트웨어 개발 접근 방식입니다.
시나리오에 사용되는 간단한 언어는 기술에 익숙하지 않은 팀 구성원도 소프트웨어 프로젝트에서 진행되는 작업을 이해하는 데 도움이됩니다. 이는 기술 및 비 기술 팀, 관리자 및 이해 관계자들 간의 커뮤니케이션을 돕고 개선합니다.
학습 내용 :
BDD 행동 기반 개발이란 무엇입니까?
BDD는 TDD, 즉 Test Driven Development에서 발생하여 사용자가 소프트웨어 코드에 최소한의 개입으로 여러 테스트 데이터로 작업 할 수 있으므로 소프트웨어 개발 / 테스트 자동화에서 시간을 절약하는 메커니즘 인 코드의 재사용 성을 높이는 데 도움이됩니다. .
TDD를 상속함으로써 BDD는 장점과 함께 모든 기능을 가지고 있습니다.
- 테스트 시나리오는 기능 파일이라는 다른 파일에 별도로 작성됩니다.
- 테스트는 일반 언어로 사용자 스토리와 시스템 동작에 초점을 맞춰 작성됩니다.
- 코드는 단계 정의 파일 (예 : Java, Python)에서 다르게 작성 될 수 있습니다.
추천 읽기 => 테스터는 TBB / BDD 접근 방식에 어떻게 관여합니까?
BDD 프레임 워크를 사용하는 이유
BDD 프레임 워크 이전에는 모든 사람이 TDD를 사용했습니다. 이해 관계자가 사용되는 프레임 워크에 익숙하고 기술 지식이 충분하다면 TDD는 소프트웨어 개발에서 잘 작동합니다. 그러나 항상 그런 것은 아닙니다.
BDD는 테스트 케이스가 일반적으로 간단한 텍스트 (예 : 영어)로 작성되기 때문에 기술 팀과 비 기술 팀 간의 격차를 극복하는 다리 역할을하는 경로를 제공합니다. BDD의 주요 장점은 이해하기 쉬운 낮은 전문 용어와 명확한 접근 방식입니다.
BDD 접근 방식을 구현하는 방법?
테스트 시나리오는 테스트에 대한 자세한 설명, 애플리케이션 테스트 방법 및 모두가 이해할 수있는 애플리케이션 동작과 함께 일반 언어로 작성되어야합니다.
eps 파일 사용 방법
이 튜토리얼에서는 오이 – BDD를위한 소프트웨어 도구이며 Gherkin과 같은 언어를 사용하여 실제로 구현하는 방법을 배웁니다.
Cucumber – BDD 프레임 워크 도구
Cucumber는 테스트 케이스를 작성하기위한 BDD (Behavior Driven Development) 프레임 워크 도구입니다.
주어진 – 언제 – 그때 접근
- 주어진: 일부 주어진 컨텍스트 (전제 조건).
- 언제: 일부 작업이 수행됩니다 (작업).
- 그때: 위 단계 (결과) 이후의 특정 결과 / 결과.
샘플 기능 파일
Feature : BDD implementation using Cucumber Scenario : Login to G-mail using Cucumber plugin Given User is navigating to G-mail Login Page When User need to enter username as 'Username' and password as 'Password' Then User is successfully navigated to the G-mail Mail Box
샘플 단계 정의 파일
import cucumber.api.java.en.Given; import cucumber.api.java.en.Then; import cucumber.api.java.en.When; public class Sample { @Given('^User is navigating to G-mail Login Page$') public void user_is_navigating_to_G_mail_Login_Page() throws Throwable { // Write code here that turns the phrase above into concrete actions } @When('^User need to enter username as '((^')*)' and password as '((^')*)'$') public void user_need_to_enter_username_as_and_password_as(String arg1, String arg2) throws Throwable { // Write code here that turns the phrase above into concrete actions } @Then('^User is successfully navigated to the G-mail Mail Box$') public void user_is_successfully_navigated_to_the_G_mail_Mail_Box() throws Throwable { // Write code here that turns the phrase above into concrete actions } }
Cucumber는 행동 기반 개발 접근 방식을 구현하는 데 도움이되는 테스트 플러그인입니다.
추천 자료 => 알아야 할 최고의 BDD 도구
BDD 프레임 워크의 장점
다음은 BDD의 다양한 장점입니다.
# 1) 사용자 스토리 범위
BDD가 포함 된 하이브리드 프레임 워크는 다양한 기능과 결합됩니다. 소프트웨어 개발 단계의 모든 리소스는 BDD 프레임 워크에 기여할 수 있습니다.
기능 파일 형식의 평신도 텍스트라는 쉬운 개념으로 인해 기술 리소스의 이해 관계자가 사용자 스토리를 사용하여 Gherkin 언어로 시나리오를 작성할 수 있습니다. 일반 텍스트의 호환성은 테스트에서 최대한의 범위를 확보하는 데 도움이됩니다.
시나리오가 포함 된 기능 파일은 다음과 같습니다.
- 비즈니스에서 정의 된 사용자 스토리.
- 개발자가 사양이 비즈니스 요구 사항을 충족하는지 확인하는 기준입니다.
- 테스트 팀을위한 테스트 시나리오.
- 단계 정의 파일에 코드를 개별적으로 작성할 수있는 자동화 테스터 용 쉘 커버입니다.
- 이해 관계자를위한 테스트 시나리오를 설명했습니다.
단계 정의의 분류는 자동화 테스터가 자신의 코드를 그대로 유지하도록하여 스크립트 유지 관리에 도움이됩니다.
# 2) 시나리오의 명확성
Gherkin 언어는 BDD를 사용하여 테스트 / 개발중인 제품의 결과에 초점을 맞춘 평신도 텍스트를 사용합니다.
기능 파일은 자동화 테스터를위한 다른 단계 정의 파일에서 기술 설명을 분리하므로 비전문가가 자동화 된 테스트를 쉽게 이해할 수 있도록 현명하게 도와줍니다. 모든 업데이트는 작은 토론으로 구현할 수 있습니다.
작은 오이의 가독성은 각 사용자에게 시나리오의 명확성을 보장하여 올바른 제품을 만드는 데 도움이됩니다.
# 3) 테스트 시나리오 자동화
BDD 프레임 워크에서 Cucumber를 구현하면 자동화 테스터가 올바른 접근 방식으로 스크립팅을 쉽게 시작할 수 있습니다. 오이 시나리오의 쉬운 언어는 더 나은 방식으로 기능을 이해하는 데 도움이됩니다.
Cucumber는 많은 프로그래밍 언어와 호환되므로 언어 독립적 인 플러그인입니다. 예 : 자바 , 파이썬 등
또한 읽기 => BDD 도구를 사용한 자동화 테스트
# 4) 프레임 워크에서 코드 재사용
주어진 –시기 – 그런 다음 접근 방식은 테스터가 기능 파일에서 원하는만큼 동일한 단계를 사용할 수있는 자유를 제공하여 점차 자동화 테스터의 시간을 절약하는 데 도움이됩니다.
예:
시나리오 : 시나리오 1
주어진 사용자가 Google 홈페이지로 이동합니다.
언제 사용자가 검색 엔진에서 'Cucumber'를 검색했습니다.
그때 검색 버튼을 클릭
과 사용자는 웹 브라우저에서 Cucumber에 대한 검색 결과를 볼 수 있습니다.
시나리오 : 시나리오 2
주어진 사용자가 Google 홈페이지로 이동합니다.
언제 사용자가 검색 엔진에서 'Selenium'을 검색했습니다.
그때 검색 버튼을 클릭
과 사용자는 웹 브라우저에서 Selenium에 대한 검색 결과를 볼 수 있습니다.
위의 두 시나리오에서 우리는“ 주어진', ' 언제 ”및“ 그때 ”단계는 두 번째 시나리오에서 재사용 할 수 있습니다.
# 5) 기능 파일의 매개 변수화
사용자는 기능 파일의 작은 오이 단계를 매개 변수화하여 파일에서 재사용 성을 얻을 수 있습니다.
예를 들어, 사용자가 은행 애플리케이션에서 작업하는 경우 애플리케이션에 계속 로그인합니다. 이러한 종류의 단계는 다른 데이터 세트로 매개 변수화 할 수 있으며 테스터의 시간을 절약 할 수 있습니다.
시나리오를 작성하는 동안 사용자는 공통 기능을 쉽게 사용할 수 있도록 이러한 방식으로 기능 파일 단계를 정의해야합니다.
# 6) 지속적인 통합 – 간편한 통합
Cucumber는 Jenkins 작업도 지원합니다. Jenkins에서 오이 테스트 실행을 실행할 수 있으며 Jenkins 슬레이브 머신에서도 동일하게 구현할 수 있습니다. 오이보고 플러그인은 또한 사용자에게 테스트 시나리오를 추적 할 수있는 확장 된보기를 제공합니다.
Windows 10 용 무료 SQL 소프트웨어
읽을만한 가치 => 지속적인 통합 프로세스
결론
행동 기반 개발은 애자일 방법론 . BDD를 사용하면 다른 기술과 독립적으로 작업 할 수있는 플랫폼이 제공되므로 항상 BDD를 사용하여 개발 또는 테스트를 시작하는 것이 좋습니다.
Cucumber는 소프트웨어 프로젝트에서 Behavior Driven Development 접근 방식을 구현하는 데 도움이되는 최고의 도구 중 하나입니다. 이를 통해 많은 기술을 사용할 수 있습니다. 예 : Java, Python, Jython 등
Cucumber는 많은 조직과 프리랜서가 널리 사용하고 있으며 사용자가 자신의 문제를 토론하고 문제에 대한 해결책을 쉽게 찾을 수있는 많은 커뮤니티가 있습니다.
오이 언어 – 단순하고 평이한 영어 단어를 사용하는 Gherkin- 기술 팀과 이해 관계자의 의사 소통 격차를 줄이고 동일한 수준에서 함께 작업 할 수 있습니다.
이 기사가 BDD 프레임 워크의 기본 사항을 이해하는 데 도움이 되었기를 바랍니다.
추천 도서
- 테스터가 TDD, BDD 및 ATDD 기술에 참여하는 방법
- 8 가지 BDD (Best Behavior Driven Development) 도구 및 테스트 프레임 워크
- Cucumber Tool과 Selenium을 사용한 자동화 테스트 – Selenium Tutorial # 30
- 애자일 방법론 : 애자일 방법 및 스크럼에 대한 초보자 가이드
- Specflow 자습서 : BDD 도구에 대한 궁극적 인 가이드
- 지속적인 통합 프로세스 : 소프트웨어 품질을 개선하고 위험을 줄이는 방법
- Cucumber Selenium 튜토리얼 : Cucumber Java Selenium WebDriver 통합
- 2021 년 최고의 지속적 통합 도구 15 개 (비교)