Overview
In this two-day, hands-on Cucumber training program, participants gain a thorough understanding of practical BDD concepts using Cucumber and Gherkin to drive consistent functional and non-functional tests as part of the regular build process. During the course, participants will learn core API and tools to create powerful testing harnesses. The course uses Java implementations and testing to transform the features into implemented functionality.
What You'll Learn
- Test-Driven and Behavior-Driven Testing concepts
- The concept of refining requirements into executable specifications
- How BDD, Cucumber, and Gherkin work together
- Transform requirements into features and feature files
- Creating step definitions
- Using Cucumber and Gherkin to test services
- How to manage Cucumber and improve the organization of scenarios
- Testing the controller and service layers of an application
- How to use Selenium to test web applications
- Using BDD, Cucumber, and Selenium to test web interfaces
Curriculum
- Understanding BDD
- Requirements and BDD
- Requirements to Features
- Features to Stories
- Executable Acceptance Criteria
- Feature Files
- Step Definitions
- Cucumber and JUnit
- Implementing and Testing Features
- Exercise: Creating and Using a Features File
- Gherkin Keywords
- Feature, Background, Scenario
- Given, When, and other Gherkin concepts
- A detailed look at Step Definition
- The use of Step Definition Files
- Exercise: Cucumber Step Definition
- Exercise: BDD for Echo Messaging Service
- Steps and Step Definitions
- Capturing Groups and Arguments
- Returned Results: Success to Ambiguous
- Resolving Collisions
- Organizational Techniques
- Exercise: BDD for Calculator Service
- Cucumber Runtime Options
- Working with Plugins
- Filtering Scenarios
- Cucumber Profiles
- Automating Cucumber
- Challenges Testing the UI
- Testing at Controller and Service Layers
- Testing Business Logic
- Working with Legacy Applications
- Testing Non-Functional Requirements
- Exercise: BDD for a Movie Service
- Exercise: BDD for a Grocery Service
- Selenium Overview
- Java, JUnit, and Selenium
- Handling Exceptions
- Web Page Locators
- Working with Forms
- Search for flights on Southwest
- Search for flights on Hotwire
- Search for home lending options on Chase
- Shop at Walmart
- Login to Facebook
Who should attend
The course is highly recommended for –
- Test engineers
- Quality assurance professionals
- Test automation engineers
- Software engineers
- Ruby on Rails developers
Prerequisites
This is an intermediate-level course and participants are recommended to have completed the courses listed below or have skills equivalent to the same –
- Test Automation Fundamentals: Selenium, Cucumber, Gherkin and Maven
- Agile continuous integration, testing and deployment (CI, Refactoring, GIT, BitBucket and more)