Top
Cucumber Testing Interview Questions & Answers
Question: What
Is Cucumber?
Answer:
Cucumber
is a Behavior Driven Development (BDD) tool. Cucumber is a tool that executes
plain-text functional descriptions as automated tests. The language that
Cucumber understands is called Gherkin.
In
BDD, users (business analysts, product owners) first write scenarios or
acceptance tests that describes the behavior of the system from the customer’s
perspective, for review and sign-off by the product owners before developers
write their codes.
Answer:
Advantages
of Cucumber are:
·
We can involve business stakeholders who cannot code
·
End-user experience is a priority
·
Style of writing tests allow for easier reuse of code in the
tests
·
Allows quick and easy setup and execution
Question: When is Cucumber used in real time?
Answer:
Cucumber tool is generally used in real time to write acceptance
tests for an application. It is generally used by non-technical people such as
Business Analysts, Functional Testers etc.
Question: What
language is used by Cucumber?
Answer:
Gherkin
is the language that is used by the Cucumber tool. It is a simple English
representation of the application behavior. Gherkin language uses several
keywords to describe the behavior of application such as Feature, Scenario,
Scenario Outline, Given, When, Then etc.
Please Click on Download button to download this questions for your easy reference.
Question: What
is BDD?
Answer:
BDD or Behavior-driven development is a process of developing
software based on TDD (Test Driven Development) which focuses on the
behavioral specification of software testing units.
Question: What
are the two files which you need to run a Cucumber test scenario?
Answer:
If you
want to execute a Cucumber test, then make sure it has the following two files.
1- A
feature file.
2- A
step definition file.
Question: What
is meant by a feature file?
Answer:
A feature file must provide a high-level description of an
Application Under Test (AUT). The first line of the feature file must start
with the keyword ‘Feature’ following the description of the application under
test.
A feature file may include multiple scenarios within the same
file. A feature file has the extension .feature.
Question: What
Does Feature File Consist Of ?
Answer:
Feature file in cucumber consist of parameters or conditions
required for executing code, they are:
·
Scenario
·
Scenario Outline
·
Given
·
When
·
Then
Question: What
are the various keywords that are used in Cucumber for writing a scenario?
Answer:
Mentioned below are the keywords that are used for writing a
scenario:
- Given
- When
- Then
- And
Question: Explain
the purpose of keywords that are used for writing a scenario in Cucumber.
Answer:
“Given” keyword is used to specify a precondition for the
scenario. When a keyword is used to specify an operation to be performed. The
keyword is used to specify the expected result of a performed action. “And”
keyword is used to join one or more statements together into a single
statement.
Question: Explain
the term step definition in Cucumber
Answer:
A step
definition is the actual code implementation of the feature mentioned in the
feature file.
Question: What Is Profile In Cucumber?
Answer:
We can create Cucumber profiles to run specific features
and step definitions.
We can use following command to execute a cucumber
profile
cucumber
features -p <profile_name>
Ex: cucumber
features -p regression
Question: What
Are Before, After, Beforestep And Afterstep Hooks?
Answer:
Before: execute before the feature file execution
After: executes after the feature file execution
BeforeStep: executes before the each step execution
AfterStep: executes after the each step execution
Question: What
are cucumber tags? And why do we use them?
Answer:
Cucumber tags help in
filtering the scenarios. We can tag the scenarios and then run them based
on tags.
1- We can add tags to scenarios with the <@> symbol.
2- We can use the following command to run a
cucumber tagged scenario.
cucumber features -t @<tag_name>
#Example: cucumber features -t @test
Question: What
is the right way to execute a specific scenario from the feature file?
Answer:
We can select the target scenario from a feature file by
providing its line number.
cucumber features/test.feature:10 --format html > testfeature.html
Question: What
Is Cucumber Dry Run?
Answer:
Cucumber dry run is used to compile cucumber feature files and
stepDefinitions. If there is any compilations errors it will show when we use
dry run
Ex: Cucumber features –dry-run
Question: What
are the steps to generate a report in Cucumber?
Answer:
We run the following command to produce HTML
reports.
cucumber <featurename>.feature --format html --out report.html --format pretty
Please Click on Download button to download this questions for your easy reference.
Question: What
is the purpose of Scenario Outline in Cucumber?
Answer:
Scenario outline is a way of parameterization of scenarios. This
is ideally used when the same scenario needs to be executed for multiple sets
of data, however, the test steps remain the same. Scenario Outline must be
followed by the keyword ‘Examples’, which specify the set of values for each
parameter.
Question: What
is the use of Background keyword in Cucumber?
Answer:
Background keyword is used to group multiple given statements
into a single group. This is generally used when the same set of given
statements are repeated in each scenario of the feature file.
Question: What
is the purpose of Examples keyword in Cucumber?
Answer:
Examples keyword is used to specify values for each parameter
used in the scenario. Scenario Outline keyword must always be followed by the
keyword Examples.
Question: What
is the purpose of Cucumber Options tag?
Answer:
Cucumber Options tag is used to provide a link between the
feature files and step definition files. Each step of the feature file is
mapped to a corresponding method on the step definition file.
Below is the syntax of Cucumber Options tag:
@CucumberOptions(features="Features",glue={"StepDefinition"})
Question: What
is the meaning of TestRunner class in Cucumber?
Answer:
TestRunner
class is used to provide the link between feature file and step definition
file. Below is the sample representation of how TestRunner class will look
like. A TestRunner class is generally an empty class with no class definition.
Question: What
is the use of glue property under cucumber Options tag?
Answer:
Glue
property is used to let Cucumber framework identify the location of step
definition files.
Question: What
Are The Difference Between Jbehave And Cucumber?
Answer:
- Although
Cucumber and Jbehave are meant for the same purpose, acceptance tests are
completely different frameworks
- Jbehave is Java
based and Cucumber is Ruby based
- Jbehave are
based on stories while Cucumber is based on features.
Question: What
is the name of the plugin that is used to integrate Eclipse with Cucumber?
Answer:
Natural
Plugin is the plugin that is used to integrate Eclipse with Cucumber.
Thanks Ankur. Very helpful.
ReplyNice collection
ReplyDo check below list of BDD Cucumber interview questions:
https://automationreinvented.blogspot.com/2020/02/top-17-interview-questions-on.html?m=1
Just give examples of your explanation that best for everyone
Reply