• Online, Self-Paced
Course Description

Cucumber has various strategies and implementations that provide users the ability of creating expressive scenarios. In this course, you'll learn Gherkin and the ability of creating expressive scenarios optimizing test outputs.

Learning Objectives

Exploring Gherkin

  • start the course
  • describe the purpose of Gherkin in Test-driven Development and benefits along with the syntax used
  • recognize the purpose of using features in Gherkin files and how to implement it to a project

Working with Step Definitions

  • define steps and step definitions and how it is implemented in an example
  • use features such as capture groups and wildcards and multiple arguments in Cucumber steps
  • describe the available result states for a Cucumber scenario and provide examples of scenarios containing steps that lead to these results

Developing Expressive Scenarios

  • describe a background section in a Cucumber feature file to outline steps common to all scenarios
  • use doc strings and data tables for data that doesn't fit on one line in Cucumber scenarios
  • use scenario outlines to define steps for Cucumber scenarios
  • use nest steps in Cucumber scenarios

Optimizing Scenarios

  • describe the use of transforms to remove duplication in Cucumber step definitions
  • describe the Cucumber World object and refactor steps into Ruby helper methods that are added to the World
  • describe the uses for directories and tagging Cucumber scenarios at feature and scenario level

Practice: Step Definitions and Scenarios

  • recognize the implementations of steps and step definitions, and how expressive scenarios work

Framework Connections

The materials within this course focus on the Knowledge Skills and Abilities (KSAs) identified within the Specialty Areas listed below. Click to view Specialty Area details within the interactive National Cybersecurity Workforce Framework.

Feedback

If you would like to provide feedback for this course, please e-mail the NICCS SO at NICCS@hq.dhs.gov.