웹 애플리케이션은 디지털 영역에서 타겟 청중과 연결하고 서비스를 제공하는 고급 방법을 모색하는 기업에 필수적입니다. 오늘날 비즈니스 운영에서 웹 앱의 중요성을 감안할 때 업계에 관계없이 웹 앱은 고급 사용자 경험을 제공하는지 포괄적으로 테스트해야합니다.
자동화 테스트는 소프트웨어 개발 수명주기를 가속화합니다. 또한 BDD (Behavior Driven Development) 접근 방식을 개발에 채택하면 개발자, QA 및 비 기술 팀과 같은 다양한 이해 관계자가 프로젝트에서 적극적으로 협력 할 수 있습니다.
시나리오는 예상되는 동작을 기반으로 작성됩니다. 해당 시나리오와 일치하는지 확인하기 위해 테스트되었습니다.
이미지 소스
이러한 시나리오는 Gherkin과 같은 도메인 특정 언어를 사용하여 문서화됩니다. 각 테스트 시나리오에서 작은 영어와 유사한 구문을 구성하는 자연어 구성은 애플리케이션의 동작과 예상되는 결과를 설명하는 데 사용됩니다. 이는 Gherkin으로 작성된 자동화 된 승인 테스트를 실행할 수있는 Cucumber와 같은 전용 소프트웨어 도구를 사용하여 수행됩니다.
Cucumber 란 무엇입니까?
Cucumber는 오픈 소스 테스트 프레임 워크입니다. 웹 애플리케이션의 자동화 테스트를위한 행동 중심 개발을 지원합니다. 테스트는 먼저 사용자 관점에서 시스템의 예상되는 동작을 설명하는 간단한 시나리오 형식으로 작성됩니다.
수락 테스트에 드물게 사용되는 Cucumber는 Ruby로 작성되고 테스트는 Gherkin으로 작성됩니다. 비 기술적이고 사람이 읽을 수있는 언어입니다.
Cucumber 및 Selenium 테스트 : 협업 접근 방식
자동화 된 Selenium 테스트는 개발주기에 정확성과 속도를 추가하는 반면 Cucumber는 추가 우위를 추가합니다. 비 기술적 인 관리 이해 관계자들과 더 협력 적으로 만들 수 있습니다. 테스트 시나리오가 주로 동작에 의해 주도되는 사용자 수락 테스트에 널리 유용한 Cucumber는 자동화 테스트를 강화합니다.
Cucumber 프레임 워크
Cucumber 프레임 워크는 주로 기능 파일, 단계 정의 및 테스트 실행기 파일
기능 파일
독립형 단위 또는 프로젝트의 단일 기능 (예 : 로그인)을 기능이라고 할 수 있습니다. 이러한 각 기능에는 Cucumber와 통합 된 Selenium을 사용하여 테스트해야하는 시나리오가 있습니다. 기능, 설명 및 테스트 할 시나리오에 대한 데이터를 저장하는 파일을 기능 파일이라고합니다.
Cucumber 테스트는 “.feature”확장자로 저장되는 이러한 기능 파일에 작성됩니다. . 문서를보다 쉽게 읽을 수 있도록 기능 파일에 설명을 제공 할 수 있습니다.
예 :
웹 사이트의 로그인 기능
기능 파일 이름 : userLogin .feature
설명 : 사용자는 올바른 필드에 올바른 사용자 이름과 비밀번호를 입력하면 로그인 할 수 있어야합니다. 입력 한 사용자 이름과 비밀번호가 올바른 경우 사용자는 홈페이지로 이동해야합니다.
Cucumber에서 테스트를 작성하는 데 사용 된 GIVEN, WHEN, THEN과 같은 키워드를 주석이라고합니다.
- GIVEN 사용자는 Firefox를 열어 로그인 페이지로 이동합니다.
- 사용자가 올바른 < 사용자 이름 > 및 < 비밀번호 값
- THEN 사용자가 t로 이동합니다. he 홈페이지
단계 정의
이제 기능이 기능 파일에 작성되었으므로 관련 시나리오에 대한 코드를 실행해야합니다. 주어진 시나리오에 대해 실행해야하는 코드 배치를 알기 위해 단계 정의가 그림에 나타납니다. 단계 정의 파일은 기능 파일에 정의 된 시나리오의 각 단계와 실행될 코드 사이의 매핑 데이터를 저장합니다.
단계 정의는 매핑을 위해 작성된 Java 함수에 대해 Java 및 Selenium 명령을 모두 사용할 수 있습니다. 기능 파일을 코드에 추가합니다.
예 :
package StepDefinition;import cucumber.api.java.en.Given;import cucumber.api.java.en.Then;import cucumber.api.java.en.When;public class Steps{@Given("^user navigates to the login page by opening Firefox$")//Code to Open Firefox Browser and launch the login page of application to define the GIVEN step of the feature@When("^user enters correct username and password values$")//take inputs for username and password fields using find element by xpath. Put the correct username and password values
read more