Top 20 Cucumber Interview Questions & Answers

Following are frequently asked Cucumber Testing Interview Questions for freshers as well as experienced QA professionals.

1) What is Cucumber? What are the advantages of Cucumber?

To run functional tests written in a plain text Cucumber tool is used. It is written in a Ruby programming language.

Advantages of Cucumber are:

  • You can involve business stakeholders who cannot code
  • End-user experience is a priority
  • High code reuse

2) What are the two files required to execute a Cucumber test scenario?

Two files required to execute a Cucumber test scenario are

  • Features
  • Step Definition

3)  explain the use of Background keyword in Cucumber?

Background keyword is used to group multiple given statements into a single group. The keyword mostly used when the same set of given statements are repeated in each scenario of the feature file.

4) Give an example of a behavior is driven test in plain text?

  • Feature: Visit XYZpage in abc.com
  • Scenario: Visit abc.com
  • Given: I am on abc.com
  • When:  I click on XYZ page
  • Then:  I should see ABC page

5) What is Scenario Outline in feature file?

Scenario Outline is the same scenario can be executed for multiple sets of data using the scenario outline.  The data is provided by a tabular structure separated by (I   I).

061114_1018_Introductio1

6) Explain the term step definition in Cucumber

A step definition is the actual code implementation of the feature mentioned in the feature file.

7) Give an example for step definition using “Given” function?

For example to make visitor visit the site “Yahoo” the command we use for given

Given (/^ I am on www.yahoo.com$/) do

Browser.goto “http://www.yahoo.com.”

end – This will visit www.yahoo.com

8) What are the differences between Jbehave and Cucumber?

Although Cucumber and Jbehave are meant for the same purpose, acceptance tests are completely different frameworks

  • Jbehave is, and Cucumber is Ruby-based
  • Jbehave are based on stories while Cucumber is based on features

9) Explain test harness

A test harness for Cucumber and rspec allows for separating responsibility between setting up the context and interacting with the browser and cleaning up the step definition files

10)  When to use Rspec and when to use Cucumber?

  • Rspec is used for Unit Testing
  • Cucumber is used for Behavior-driven development. Cucumber can be used for System and Integration Tests

11) What is the language used for expressing scenario in feature file?

Gherkin language is used to express scenario in feature files and ruby files containing unobtrusive automation testing for the steps in  scenarios

12) What are regular expressions?

A regular expression is a pattern describing a certain amount of text.  The most basic regular expression consists of a single literal character.

13) What is BDD?

BDD or Behavior-driven development is a process of developing software based on TDD (Test Driven Development) which focusses on the behavioral specification of software testing units.

14) What software do you need to run a Cucumber Web Test cases?

  • Ruby and its Development Kit
  • Cucumber
  • IDE like ActiveState
  • Watir ( To simulate browser)
  • Ansicon and rspec (if required)

15) What does a cucumber features/ support file contain?

Features/ support file contains supporting ruby code. Files in support load before those in step_definitions, which can be useful for environment configuration.

16) What is a Feature file?

Features file contain a high-level description of the Test Scenario in simple language. It is known as Gherkin which is a plain English text language. Feature File consists of the following components  like:

  • Feature: It describes the current test script which has to be executed.
  • Scenario: It is steps and expected outcome for a specific test case.
  • Scenario outline: Scenario can be executed for multiple sets of data using scenario outline.
  • Given: It specifies the context of the text to be executed.
  • When: specifies the test action which has to perform.
  • Then: Expected outcome of the test can be represented by “Then”

17) What is Selenium?

Selenium is an automation tool which is a widely used tool for Functional Testing of the web-based application. Selenium supports different language like ruby, java, python C#, etc.

18) Why use Cucumber with Selenium?

Cucumber and Selenium are two popular technologies. Many organizations use Selenium for functional testing. These organizations which are using Selenium want to integrate Cucumber with Selenium as Cucumber helps you to read and to understand the application flow.

19) Advantages of Cucumber

Here, are some prominent advantages of using Cucumber.

  • It is helpful to involve business stakeholders who can’t easily read the code
  • Cucumber Testing enhances the end-user experience
  • Style of writing tests allow for easier reuse of code in the tests
  • Allows quick and easy setup and execution

20) What is a Step Definition?

Step definition maps the Test Case Steps in the feature files to code. It executes the steps on Application Under Test and checks the outcomes against expected results. In order to execute step definition it must match the given component in a feature.

Refer our Cucumber Tutorials for an extra edge in your interview.

3 replies

Leave a Comment

Leave a Reply to Sandy Cancel reply

Your email address will not be published. Required fields are marked *

  1. Avatar
    Sandy says:

    Can we not use cucumber with Java??

    Reply
    • Avatar
      Anupam says:

      yes we can

      Reply
  2. Avatar
    Prasanna says:

    While writing particular scenario using gherkin, Rather than using an imperative sentence, we should use declarative language. Means instead of using ‘I’ in a scenario, we should use ‘component_name’.
    We should focus more on application behaviour rather than on user action.
    I have re-modified above scenario in my way.

    Example:
    Feature: should display Visit XYZ page when abc.com is opened
    Scenario : Visit abc.com
    Given: abc.com is opened
    When: XYZ page is clicked from ‘page_name'(page_name = Where click action is performed)
    Then: ABC page should be displayed

    Thanks

    Reply