BDD Interview Questions and Answers + [ JOB REFERENCES ]
Last updated on 22nd Sep 2022, Blog, Interview Question
1.What is a BDD?
Behavior-driven development (BDD) is a developing software based on a Test Driven Development (TDD) that focuses on a behavioral specification of software testing units.
2. What is a Cucumber?
Cucumber is an automation testing framework based on a Behavior Development (BDD) methodology, which tests a software applications without any programming skills. It increased the quality of a testing and reduces the difficulty.
The Cucumber is open-source tool that supports a English language specifications required for testing. Other technical methods to used the programming languages are .NET, Java, and the other platforms. The cucumber specifications included various scenarios and examples.
3.What is a profile of Cucumber?
Profile in cucumber allows a way to explain a group of tests in a feature file to run a selected group of instead of executing all the commands while testing a feature. Cucumber profiles allowed for running step definitions and features.Use a command below to run a cucumber profile.
4.What are main files required to run Cucumber test scenario?
The 2 main files used to run Cucumber test scenario are :
- Step Definition
5. What language is used for a BDD?
However, among all of BDD tools, Cucumber is a most common and widely used tool. Cucumber was written in a Ruby programming language and used for a Ruby testing initially. However, cucumber is now supported by the other programming languages also like JAVA, . Net.
6.What is a language used by Cucumber?
Gherkin is a language that is used by a Cucumber tool. Gherkin language uses diferent keywords to define application behavior like Feature, Given, Scenario, Scenario Outline, Then, When, etc.
7.What is meant by feature file?
Feature : It explains the implementation of the current test script.
Scenario : It is the expected outcome and steps for the specific test case.
Scenario outline : It can be executed for a multiple sets of data.
Given : It explains the context of the text to be implemented.
When : It specifies the test action that has to a perform.
Then : The expected outcome of test can be represented by “Then.”
8. Why use a Cucumber with Selenium?
Cucumber and Selenium are a two well-known technologies. More companies are using Selenium for a functional testing. These organizations using Selenium want to an integrate Selenium with Cucumber as it helps to read and understand a application flow.
9. What software do need to run Cucumber Web Test case?
- Ruby and its a Development Kit
- IDE like ActiveState
- Watir (To simulate browser)
- RSpec and Ansicon (if needed)
10. Name any two build management tools that can be integrated with the Cucumber?
11. Mention differences betweena BDD and TDD?
|BDD is the Behavior centered development process.||TDD is the Test centered development process.|
|These tests are represented in the readable format using BDD steps.||These tests are represented using a programming languages like JAVA, Ruby, etc.,|
12. Explain Regular Expressions?
A regular expression is a pattern used to explain an amount of text. The standard Regular expression included a single literal character.
13. Explain a test harness?
A test harness for a Cucumber and RSpec enables a separate responsibility between a context setup and interacting with browser cleaning up the step definition files.
14. Is Selenium a BDD tool?
Both Cucumber and Selenium testing are more important components of the web application testing process. Selenium is used for an automating the testing across different browsers, whereas Cucumber is an automation tool for the behavior-driven development.
15. What is Step Definition?
Step definition is used to map a Test Case Steps in the feature files to code. It runs steps using an Application Under Test (AUT) and verifies the outcomes against required results. To execute step definition, it must be related to a given component in a feature.
16.What is language used for expressing scenarios in a feature file?
Gherkin language is used for an expressing scenario in feature files and ruby files, including the hidden automation testing for sequence in scenarios.
17. What does cucumber features/support file contain?
Features/support file includesa ruby code. These files load before a step_definitions, which can be used for an environment configuration.
18. What are the Advantages of a Cucumber?
- Cucumber Testing enhances an end-user experience.
- It helps to included a business stakeholder who cannot read the code easily.
- Allows quick and simple setup and execution.
- Style of writing tests enables simple reuse of code in the tests.
19. Give an example of behavior-driven test in plain text?
Feature : Visit a ABC page on xyz.com.
Given : I am on a xyz.com.
Scenario : Visit a xyz.com.
When : I click on a ABC page.
Then : I should see ABC page.
20. What are 3 practices of BDD?
he BDD process moves through a three phases—discovery, formulation, and automation—where acceptance criteria are transformed into an acceptance tests that are later automated.
21. What is a BDD in REST API?
BDD (Behavior-Driven Development) is way of developing a code based on the expected behavior of a code as experienced by the users.
22. What is meant by feature file?
- A feature file must provide high-level description of an Application Under Test (AUT. The first line of feature file must start with a keyword ‘Feature’ followed by description of the application under test.
- A feature file may included a multiple scenarios within a same file. A feature file has extension feature.
23. What are the different keywords that are used in Cucumber for writing a scenario?
24. What is the purpose of Scenario Outline in Cucumber?
Scenario outline is a way of a parameterization of scenarios. This is ideally used when same scenario needs to be executed for multiple sets of data, however, test steps remain a same. Scenario Outline must be followed by a keyword ‘Examples’, which specify the set of values for every parameter.
25. What programming language is used by a Cucumber?
Cucumber tool provides support for a multiple programming languages like Java, .Net, Ruby etc. It can also be integrated with the multiple tools such as Selenium, Capybara, etc.
26. What is purpose of the Step Definition file in Cucumber?
A step definition file in Cucumber is used to segregate a feature files from the underlying code. Every step of the feature file can be mapped to a corresponding method on a Step Definition file.
While feature files are written in an simply understandable language like, Gherkin, Step Definition files are written in the programming languages such as Java, .Net, Ruby, etc.
27. What are major advantages of a Cucumber framework?
- Cucumber is open-source tool.
- Plain Text representation makes it simpler for non-technical users to understand the scenarios.
- It bridges the communication gap between a various project stakeholders like Business Analysts, Developers, and Quality Assurance personnel.
- Automation test cases developed using a Cucumber tool are easier to maintain and understand as well.
- Easy to integrate with the other tools such as a Selenium and Capybara.
28. Provide an example of a feature file using a Cucumber framework.
Feature : Login to a application under test.
Scenario : Login to a application.
- Open the Chrome browser and launch application.
- When the user enters the username onto UserName field.
- And User enters the password into a Password field.
- When user clicks a Login button.
- Then validate if user login is successful.
29. Provide an example of a Scenario Outline using a Cucumber framework.
- Scenario Outline: Upload the file.
- Given that user is on upload file screen.
- When a user clicks Browse button.
- And user enters onto a upload textbox.
- And user clicks on enter button.
- Then verify that a file upload is successful.
30. What is purpose of the Behaviour Driven Development (BDD) methodology in a real world?
BDD is a methodology to understand the functionality of an application in simple plain text representation.The main aim of Behavior Driven Development framework is to make different project roles such as Business Analysts, Quality Assurance, Developers, Support Teams understand the application without a diving deep into a technical aspects.
31. What is the limit for the maximum number of scenarios that can be included in a feature file?
A feature file can contain maximum of 10 scenarios, but the number can vary from the project to project and from one organization to another. But it is generally advisable to limit a number of scenarios included in the feature file.
32. What is the use of Background keywords in a Cucumber?
Background keyword is used to group a multiple given statements into a single group. This is generally used when same set of given statements are repeated in each scenario of a feature file.
33. What symbol is used for a parameterization in Cucumber?
Pipe symbol (|) is used to specify a one or more parameter values in a feature file.
34. What is the purpose of Examples keyword in a Cucumber?
Examples keyword is used to specify a values for each parameter used in a scenario. Scenario Outline keyword must always be followed by a keyword Examples.
35. What is the file extension for feature file?
File Extension for feature file is .feature. A feature file is ideally written in the notepad file and is saved with the extension feature.
36. Provide an example of step definition file in Cucumber.
Step definition corresponding to a step “Open Chrome browser and launch the application” may look like a code mentioned below :
- @Given(“^Open Chrome browser and launch the application$”.
- public void openBrowser()
- driver = new ChromeDriver(.;
37. What is the purpose of a Cucumber Options tag?
Cucumber Options tag is used to provide the link between the feature files and step definition files. Every step of the feature file is mapped to a corresponding method on a step definition file.
38. How can Cucumber be integrated with the Selenium WebDriver?
Cucumber can be integrated with the Selenium Webdriver by downloading a necessary JAR files. Given below are list of JAR files that are to be downloaded for using a Cucumber with Selenium web driver :
39. When is a Cucumber used in real-time?
Cucumber tool is generally used in a real-time to write acceptance tests for an application. It is generally used by a non-technical people such as Business Analysts, Functional Testers, etc.
40. Provide an example of Background keyword in a Cucumber.
Background: Given the user is on a application login page.
41. What is the use of Behavior Driven Development in an Agile methodology?
The advantages of Behavior Driven Development are best realized when a non-technical users such as Business Analysts use BDD to draft requirements and provide a same to the developers for implementation.In Agile methodology, user stories can be written in a format of feature file and the same can be taken up for an implementation by the developers.
42. Explain a purpose of keywords that are used for writing scenario in Cucumber.
Given keyword is used to specify precondition for the scenario.When keyword is used to specify a operation to be performed.Then keyword is used to specify an expected result of a performed action. And keyword is used to a join one or more statements together into single statement.
43. What is the name of a plugin that is used to integrate Eclipse with Cucumber?
Cucumber Natural Plugin is a plugin that is used to integrate Eclipse with the Cucumber.
44. What is meaning of the TestRunner class in a Cucumber?
TestRunner class is used to provide link between the feature file and the step definition file. A TestRunner class is generally empty class with the no class definition.
45. Provide an example of a TestRunner class in Cucumber.
- Package com.sample.TestRunner
- public class Runner
46. What is starting point of execution for a feature files?
When integrated with the Selenium, the starting point of execution must be from TestRunner class.
47. Should any code be written within a TestRunner class?
No code should be written under a TestRunner class. It should included a tags @RunWith and @CucumberOptions.
48. What is the use of features property under a Cucumber Options tag?
Features property is used to let a Cucumber framework identify the location of the feature files.
49. What is the use of glue property under a Cucumber Options tag?
Glue property is used to let a Cucumber framework identify a location of step definition files.
50 . What do understand by SOA and what are the benefits of a using this architecture?
SOA stands for a Service Oriented Architecture, which can be used to develop an Enterprise Applications. Using this architecture, application components will interact with the each other using interoperable services by following communication protocol over the network.
Benefits of using a SOA are :
- Components stay loosely coupled and can also be reconfigured.
- Business services can be reused.
- Data security & confidentiality.
- Well explained Interfaces.
- Better flexibility and maintenance.
51. What is the Oracle SOA Suite and what are its different components?
Oracle SOA Suite belongs to a Oracle Fusion Middleware group of software products.This tool is based on a SOA architecture and helps in creating, managing & integrating services with application components so as to deliver SOA composite application as one unit. This suite consists of a five components.
Service components for further consist of :
- BPEL Process
- Oracle Mediator
- Human Task Flow
- Decision Services
Binding components includes :
52. Can explain the difference between a architecture followed in 10g & 11g?
Given below are the differences between a 10g and 11g :
- SCA architecture is followed in a 11g but not in 10g.
- In 11g, all of SOA components (like BPEL, ESB, etc., related to project can be deployed at once as single unit using a composite.xml file. In 10g, these components need to be a deployed individually to the respective servers.
- App server container for 11g is a Web Logic Server while for 10g is OC4J.
- In 11g, Enterprise Manager takes care of all the SOA components while in 10g separate consoles are maintained for each component.
53. What is the concept of a SOA Governance?
SOA governance is introduced to an administrate services in a service-oriented architecture. Create a new services when required.
- Update an existing services.
- Manage a lifecycle of services.
- Enforce a rules on policies to maintain consistency.
- Monitoring and tuning performance of services.
- Manages user permissions on services.
54. How can a process be deployed in a SOA?
A process can be deployed using any of the follow options :
- EMC(Enterprise Manager Console.
- WebLogic Scripting.
55. What is a SCA and how is it useful?
Service Component Architecture (SCA. is a model for building the applications and systems using SOA concepts. The composite service has the assembly of various components of the application and these components can be deployed together at once using a SCA.
The various specifications of the SCA are :
- Assembly a Model Specification.
- Binding Specification.
- Components Implementation Specification.
- Policy Framework Specification.
56. How can achieve a loose coupling in SOA framework?
Loose coupling can be achieved by an abstracting and resolving the differences between different systems so as to provide a seamless integration. OSB facilitates the same and resolved the issues between service clients and business systems. SOA uses web services as a building blocks to finish enterprise integration and component re-usage through a loose coupling.
57. Can differentiate between a mediator and OSB?
- A mediator is part of the composite application and is used to mediate between a different components within and outside a composite application.
- While OSB i.e. Oracle Bus Service is the standalone ESB which mediates with heterogeneous clients and services without being a part of them.
- A mediator can be deployed as SCA component while an OSB cannot.
- For a mediator, development can happen through the JDeveloper IDE while for OSB, it can be done using an Eclipse IDE or Web Console.
58. Is SOA a part of a Oracle Fusion Middleware?
Yes SOA is a part of a Oracle Fusion Middleware behaving as UI within a big Fusion platform.
59. How is a choreography different from orchestration?
- Choreography and orchestration, are critical parts of a collaboration layer within a service orientation i.e. SOA & BPM.
- During Choreography, systems get integrated without the following any business processes. There is no process explained to control the integration and it is done as per defined sequence of levels.
- In Orchestration, a central process which can be Web Service itself controls other web services involved in the integration of systems. This central coordinator will coordinate an execution of various operations of web services involved in operation and completes the integration.
60. Can define an ERP System?
ERP stands for an Enterprise Resource Planning. It is business software system that allows an organization to automate and integrate with the different business processes sharing common data across enterprises.
ERP software typically integrates a different facets of an operation like product planning, development, and manufacturing, sales, marketing, etc. using single database, application, and interface.
61. Explain the Oracle Apps architecture.
Oracle Apps is a multi-tier architecture environment where application server serves as an interface between the clients and database servers. Hence, the components of this architecture are be :
- Application servers.
- Database servers.
Clients will initiate a request for an operation to be executed by database. The application server will act as an intermediate layer by sending a client request to the database and providing a requested data to the client.
62. Can create a tables in APPS schema?
No, cannot create a tables in APPS schema and this schema will only have a synonyms.
63. What is flexfield? List out its types?
Flexfield is database field possessing inbuilt flexibility of defining a reporting structure, which is relevant to a specific organizations. There are two types of a flex fields :
Key flexfields: They are used to record a key data elements.
Descriptive flexfields: They are user-defined flexfields and can be a customized.
64. What are the different components should consider while defining a responsibility in Oracle Apps?
Menu (mandatory) : It is an arrangement of forms in the hierarchical manner.
Data Group (mandatory) : It explains the mapping between Oracle App products like forms, reports, concurrent programs, and Oracle database Ids.
Responsibilities and Request Security Groups (mandatory) : A request security group is a request group assigned to a responsibility.
Function and Menu Exclusions (optional) : Responsibility may or may not have an associated the function and menu exclusion rules.
65. What is Value Set? List its various types?
The value set is a predefined list of the values used by a Oracle for validation. It restricts an end-user to enter junk data by providing an option to select a value from a predefined set of values.
Oracle supports a eight types of value set validations. These are :
- None (validated minimally).
- Special (advanced).
- Pair (advanced).
- Translated Independent
- Translatable Dependent
66. How can we import a data into a database using SQL * Loader?
SQL * Loader is a utility that is used to an import the data in bulk from a external files. They can perform a selective loading.
- They can perform a multi-table loads.
- Supports the various format files.
67. What understand by a Concurrent programs?
An executable file that can execute simultaneously with other programs and utilize a hardware capacity to the fullest is called the concurrent program. Generally, these types of programs would be a long-running and data-intensive. They can be grouped with the reports to form a request group.
68. What does APPL_TOP directory contain?
APPL directory stores an Oracle e-business suite files and hence it is commonly known as a APPL_TOP directory.
This directory contains a files along with relative directories :
- Technology files.
- Product files.
- Oracle e-business suite environment files.
69. What understand by a set of books?
The set of books is a financial reporting an entity. It finds the functional currency, account structure, and calendar for the company or a group of companies.
There are two types of a set of books.
Primary: It consists of a functional currency.
Secondary: It consists of a reporting currency.
70. What is SOA?
SOA is also known as acronym for Service Oriented Architecture. It is also known as framework for building applications that can be used for commercial purposes. It is important to note in this context that during a development process of these applications, SOA used loosely coupled strategies. These can be combined to an achieve a considerable amount of functionality.
71. Shed light on the different principles on which SOA is based?
- Loose Coupling
72. Do think that Oracle Fusion is a same as that of Oracle SOA?
The answer is no due to a fact that SOA is one of the integral parts of the Oracle Fusion. Moreover, SOA acts like a user interface in the Oracle Fusion platform.
73. What is SCA with respect to a Oracle SOA platform?
- SCA is also known as a Service Component Architecture. This type of architecture provides the underlying programming model in order to design an application in a Oracle environment.
- It is also regarded as model whose primary purpose is to encompass a broad range of service strategies and technologies.
- In this context, it is also important to note that it facilitates a necessary technical know-how to connect the access methods.
74. What is the fundamental difference between a components and services?
- Should be well aware of the fact that services are also known as the logical coupling of various parts so that functionality of developing a business application can be achieved.
- On the other hand, the components are also referred to as a implementation approaches in order to create the service. should also be aware of the fact that these components can be in the C++ and Java.
- On the contrary, the services would be an exposed in a general format that resembles a web services.
75. In SOA, is there a need to design systems from beginning?
- 1.It is so because if need to incorporate an existing system, have to be on the lookout to facilitate a loosely held wrappers.
- 2. These loosely-organized wrappers would always be wrap a custom systems and would go a long way in exposing functionality of the system in a significant manner.
76. Describe a few hurdles that come in a form of implementing SOA?
Here is a list of obstacles that come in way of achieving a SOA. They are as follows :
- Scarcity of the skills.
- Less return on investment on implementation of a SOA projects.
77. Do need the ability of a SOA Governance while getting started?
- In order to be successful in the endeavors of implementing SOA, need to consider the business values that are involved with it from the beginning.
- Quite interestingly, one of primary benefits which would get from a implementation of SOA is improved knowledge in an alignment of business with IT.
- It is crucial for to have proper knowledge of SOA governance as it would make as aware of the procedures and decision rights for the IT and businesses to work collaboratively.
- However, do not need a lot of SOA governance to get started but with a little bit of it.
78. Describe choreography in a SOA?
In choreography, there is an utter lack of the business processes to control. Every system in choreography would seamlessly mix into avarious components.
79. How does orchestration differ from a choreography?
As opposed to choreography, in orchestration, there is the business process that usually controls the variety of services that are also a part of the integration process.
80. List the number of ways in which the process can be deployed?
- 1. Through the use of an Enterprise Manager Console.
- 2. Through the use of a Weblogic Scripts.
- 3. Through the use of a JDeveloper.
81. List the different types of design patterns that are used in the implementation of SOA?
- Delayed a response or asynchronous.
- Fire and forget or synchronous.
82. How can increase the timeout related to a transaction in SOA?
In order to increase a transaction timeout, a lot of value needs to be changed to be on the par with value of the expected timeout.
They are as follows :
- Delivery Bean
- Engine Beam
83. Define a DVM and its utility in SOA implementation process?
DVM is also known as a Domain Value Map. It is explained as a static mapping between a trigger system and the source. It can also be used in a transformations. Moreover, this value can be changed with the help of a SOA Composer.
84. Shed light on the dehydration store in SOA environment?
A dehydration store is also known as the database where the instances are stored. The database gets dehydrated or devoid of the values when there is a constant occurrence of different futile activities.It also saved the information when the application runs for the extended period of time.
85. Shed light on a primary difference between a DVM and XREF?
XREF is also known as the dynamic domain where the values of the XREF can be populated on the dynamic basis. Moreover, the data after the input process gets stored in a table named in the form of a XREF_DATA. On the other hand, DVM is also known as the static mapping that lies between the source and target system. It can also be used in the alterations.
86. What is a decision service with respect to a SOA environment?
It is essential for to note that Oracle Suite would provide a support for the various types of decision components which would support a rules of the Oracle business. Quite interestingly, a decision component is also known as the mechanism that is widely used for a publishing various types of regulations. Moreover, these rule sets are also known as being reusable.They can be triggered with assistance of a plethora of business processes. these rules can be altered without rewriting a code.
87. What is mean by a XA Data Source? Shed light on the primary differences between a XA and non-XA data source?
An XA data source refers to a type of transaction that comprises coordinating with a transaction manager. It has one or more databases, and all of these databases are involved in the single global operation.On the other side, the non-XA data sources are of those types which entirely devoid of a transaction coordinator. In a non-XA data sources, a majority of transaction work is carried out by the single resource.
88. Define a MDS with respect to SOA practices?
MDS is also known by name of Metadata store. MDS can be used in a code generation process. With help of MDS, the size of the JAR file would be significantly reduced.Moreover, with the implementation of a MDS, the duplication of artifacts can be avoided amongst the diffreent services.
89. Describe a process in which can protect the web services with use of a Oracle Suite?
During a time of access, the services have to be restricted to a group. In this manner, the facility gets secured with help of a Web Service Manager.
90. What is mean by a singleton feature in Oracle SOA?
The singleton feature of SOIA comes to a fore when the message processing procedure should be managed with help of only one OA Server. This is the reason where the singleton property needs to be an executed in the levels of the adapter.
91. What are FTP and HA File adapters with the respect to SOA?
- 1. During execution of an application in a clustered environment, the FTP and File adapters should be used as a per high availability basis. However, also have to know about inbound and outbound features that play a crucial process in a working process of file adapters.
- 2. There are usually a two types of file adapting procedures. They are also known as a inbound and outbound. The incoming feature is controlled by the various types of administrative records.
- 3. It is also quite adept at avoiding the managed a servers while the reading process of a file is going on in directory. However, should also note that the reference to a data that are read by a servers would be maintained in such manner that they can be kept in the directory for future use.
- 4. On the other hand, the outbound procedures lay an emphasis on the fact that it is controlled by the table of DB Mutex which exists in the dehydration store.
- 5. The outbound procedure ensures that a duplicity can be avoided at all costs which are great for notion of application development.
92. Define a pick activity concerning SOA?
Pick activity is associated with a pickup of messages from source. It also comprises a variety of the multiple operations. It is also important to note that tBPEL process needs to transmit the signals from plethora of numerous source systems.In this context, it is interesting to mention that peak activity should be comprise at least one message branch.
93. How to predefine the errors in BPEL?
- Custom errors
- Timed-out errors
- BPM errors
- Validation Errors
94. Define a mediator with respect to a implementation process of SOA?
The mediator is responsible for an interconnecting a variety of composite applications. It is also quite adept at for exposing different interfaces with a varied number of the components.
- Moreover, the mediator can also perform a various kinds of duties which comprise filtering so that the routing decisions can be implemented.
- On the other hand, it is also important to note that composite editor which is present in a JDeveloper would give the usability to illustrate the interface.
- Moreover, with the help of a mediator, can change data from one representation to other. It is also one of the critical functionalities of mediator.
95. Shed light on plumbing layers with respect to a SOA?
The plumbing layer is also known as the special layer that usually sheds light on the management of diffrent computer resources like web servers and databases. This type of architecture carries a utmost importance in order to identify the service.
96. Shed light on a business layers?
In SOA, one can segregate a structure into two segments. The primary layer is a business layer. It has adirect importance to the activities of a business.
97. Describe the appropriate time when would opt for a Sync Process?
Need to take into a account the right time of using a Sync Option. It is usually recommended that during a time when the services return the response in a matter of few seconds, one should opt for a BPEL process. It is so because if do not use the BPEL process, the application cannot be progress which can be detrimental to its development
98. What are the SOA Principles?
- Loose coupling
99. How can make a request dynamic?
- If on the lookout to send a request to the variety of services that have a same value as WSDL, then the application has to make in dynamic manner.
- Can make the request dynamically by making a use of an addressing schema. In this manner, the desired objectives can be met in the efficient way.
100. What problems does a BDD solve?
Behavior-driven development (BDD) is the software development process that attempts to solve a problem of implementing poorly defined requirements. It seeks to a leverage the domain expertise of the business and QA professionals to ensure that developers build to correct. software.
Are you looking training with Right Jobs?Contact Us
- Hadoop Interview Questions and Answers
- Apache Spark Tutorial
- Hadoop Mapreduce tutorial
- Apache Storm Tutorial
- Apache Spark & Scala Tutorial
- What is Dimension Reduction? | Know the techniques
- Difference between Data Lake vs Data Warehouse: A Complete Guide For Beginners with Best Practices
- What is Dimension Reduction? | Know the techniques
- What does the Yield keyword do and How to use Yield in python ? [ OverView ]
- Agile Sprint Planning | Everything You Need to Know