Cucumber 프레임워크: 무엇입니까? Cucumber?

⚡ 스마트 요약

Cucumber 이 도구는 행동 주도 개발(BDD)을 지원하며, 기술 지식 수준에 관계없이 누구나 테스트 코드를 읽을 수 있도록 해줍니다. 이 자료에서는 Given-When-Then 단계를 통해 BDD가 어떻게 작동하는지, 그리고 BDD의 장점에 대해 설명합니다. Cucumber그리고 그것이 어떻게 다른 것과 비교되는지 Selenium 그리고 HP ALM.

  • 🥒 핵심 정의: Cucumber 행동 주도 개발(BDD) 도구로서, 기술 및 비기술 분야의 이해관계자 모두가 이해할 수 있는 평이한 언어로 테스트를 작성합니다.
  • 🗣️ BDD Foundation: 비즈니스 분석가와 제품 소유자는 개발자가 코드를 작성하기 전에 시스템 동작 방식을 설명하여 상호 이해도를 높입니다.
  • 📝 주어진 조건 - 그러면: 모든 Cucumber 이 시나리오는 가독성이 뛰어난 Given-When-Then 구조를 따르며, 이는 살아있는 문서 역할도 합니다.
  • 주요 이점 : 빠른 설정, 코드 재사용, 최종 사용자 중심 설계, 코딩 경험이 없는 비즈니스 이해관계자의 손쉬운 참여 등이 특징입니다.
  • ⚖️ 도구 비교: Cucumber 무료이며 BDD 기반인 반면, HP ALM은 유료입니다. Selenium 기능 및 성능 테스트를 목표로 합니다.

Cucumber 뼈대

Cucumber?

Cucumber 이 도구는 행동 주도 개발(BDD)을 지원하는 테스트 도구입니다. 기술 지식 수준에 관계없이 누구나 이해할 수 있는 테스트 작성 방식을 제공합니다. BDD에서는 사용자(비즈니스 분석가, 제품 소유자)가 먼저 고객 관점에서 시스템의 동작을 설명하는 시나리오 또는 인수 테스트를 작성하고, 개발자가 코드를 작성하기 전에 제품 소유자의 검토 및 승인을 받습니다. Cucumber 프레임워크는 다음을 사용합니다. 루비 프로그래밍 언어.

Cucumber 뼈대
Cucumber 뼈대

BDD 작동 방식 Cucumber 오토메이션?

인터넷 뱅킹 애플리케이션에 자금 이체 모듈을 개발하는 업무를 맡았다고 가정해 보세요.

이를 테스트하는 방법은 여러 가지가 있습니다. Cucumber 테스트 프레임워크:

  1. 송금 계좌에 충분한 잔액이 있는 경우에만 자금 이체가 이루어져야 합니다.
  2. 수취 계좌 정보가 정확한 경우에만 송금이 진행됩니다.
  3. 자금 이체는 사용자가 입력한 거래 비밀번호/RSA 코드/보안 인증이 올바른 경우에만 진행됩니다.
  4. 은행 휴일이라 하더라도 자금 이체는 이루어져야 합니다.
  5. 자금 이체는 계좌 소유자가 지정한 미래 날짜에 이루어져야 합니다.

The 테스트 시나리오 이체 금액 X를 Y일/월 간격으로 이체하거나, 총액이 Z에 도달하면 예정된 이체를 중지하는 등의 추가 기능을 고려할수록 더욱 정교하고 복잡해집니다.

개발자들은 일반적으로 기능을 먼저 개발하고 테스트 코드는 나중에 작성하는 경향이 있습니다. 위의 사례에서 볼 수 있듯이, 테스트 케이스 이 시나리오에 대한 개발은 복잡하기 때문에 개발자는 개발을 미룰 것입니다. 지원 출시 전까지는 아무런 조치가 취해지지 않으며, 출시 시점에 이르면 신속하지만 비효율적인 테스트를 진행할 것입니다.

이 문제를 극복하기 위해, Cucumber BDD (행동 주도 개발) 이 아이디어는 개발자가 전체 테스트 프로세스를 쉽게 진행할 수 있도록 고안되었습니다.

In Cucumber BDD, 당신이 쓴 것은 무엇이든 들어가야 한다 주어진 시기와 그때 단계. 위와 동일한 예시를 BDD 방식으로 살펴보겠습니다.

Given that a fund transfer module in net banking application has been developed
And I am accessing it with proper authentication
When I shall transfer with enough balance in my source account
Or I shall transfer on a Bank Holiday
Or I shall transfer on a future date
And destination a/c details are correct
And transaction password/RSA code/security authentication for the transaction is correct
And press or click send button
Then amount must be transferred
And the event will be logged in log file

작성하고 읽고 이해하기 쉽지 않나요? 이 문서는 자금 이체 모듈에 대한 모든 가능한 테스트 케이스를 다루고 있으며, 필요에 따라 쉽게 수정하여 더 많은 테스트 케이스를 포함할 수 있습니다. 또한 자금 이체 모듈에 대한 문서를 작성하는 것과도 유사합니다.

의 장점 Cucumber 소프트웨어

  1. 코드를 쉽게 읽지 못하는 비즈니스 이해관계자들을 참여시키는 것이 도움이 됩니다.
  2. The Cucumber 테스트 도구 최종 사용자 경험에 중점을 둡니다.
  3. 이러한 테스트 작성 방식은 테스트에서 코드 재사용을 더 쉽게 해줍니다.
  4. 빠르고 간편한 설치 및 실행.
  5. The Cucumber 테스트 도구는 효율적인 도구입니다. 테스트.

Cucumber vs Selenium 대 ALM

이 섹션에서는 다음과 같은 차이점을 연구합니다. Cucumber, Selenium그리고 ALM.

Cucumber HP ALM(QTP) Selenium
Cucumber 소프트웨어는 무료입니다. QTP 비싸다. 그것은 무료입니다.
Cucumber 이 소프트웨어는 행동 중심 개발 도구입니다. 이는 기능 자동화 도구입니다. 기능 및 성능입니다.Selenium 그리드) 테스트 도구.
플러그인은 Cucumber 테스트 도구가 더 빠르게 작동합니다. 플러그인은 속도가 느립니다. Cucumber Selenium. 플러그인은 속도가 느립니다. Cucumber.
Cucumber 이 프레임워크는 Ruby 외에도 다음과 같은 다른 언어들을 지원합니다. Java, 스칼라, Groovy등 QTP VB Script만 지원합니다. Selenium 지원 Java.Net 및 기타 여러 언어.
자동화 단계를 작성하는 것은 테스터와 개발자의 공동 작업입니다. In QTP테스터만이 자동화 단계를 작성합니다. 처럼 Cucumber자동화 단계를 작성하는 것은 테스터와 개발자의 공동 작업입니다.
The Cucumber 테스트 도구는 웹 환경만 지원합니다. 웹, 데스크톱 및 모든 클라이언트-서버 애플리케이션을 지원합니다. 웹 환경만 지원합니다.

또한 확인:- UFT vs Selenium: 차이점 Selenium HP UFT

자주 묻는 질문

예. AI 도구는 작성된 요구사항을 바탕으로 Gherkin 시나리오와 단계 정의를 직접 생성할 수 있습니다. 하지만 테스터는 생성된 시나리오를 사용하기 전에 정확성, 예외 상황, 그리고 전체 범위 포함 여부를 검토해야 합니다.

아니요. AI는 시나리오 작성 및 단계 생성 속도를 높여주지만, 인간 테스터는 여전히 예상되는 동작을 정의하고, 비즈니스 로직을 검증하며, 이해관계자와의 협업을 유지해야 합니다. 이는 행동 주도 개발(BDD)의 핵심 요소입니다.

Gherkin은 평문 언어입니다. Cucumber 테스트 시나리오를 작성하는 데 사용됩니다. Given-When-Then 구조를 따르므로 비즈니스 이해 관계자와 개발자 모두가 읽기 쉬우면서도 실행 가능한 테스트가 됩니다.

Cucumber BDD는 BDD 도구입니다. TDD는 각 기능 조각을 구현하기 전에 단위 수준 코드 테스트를 작성하는 데 중점을 두는 것과 달리, BDD는 사용자 관점에서 시스템 동작을 설명하는 데 중점을 둡니다.

이 게시물을 요약하면 다음과 같습니다.