BDD with Behave

3 Days

agileatddgherkinpython
agileautomation

Intermediate

testerdeveloper

More and more organisations are looking to Behaviour Driven Development (BDD) and related practices, as a way to gain or maintain their competitive advantage in software delivery. In this intensive program, participants learn principles and techniques of BDD using Behave & Gherkin with Python. Primary focus of program is to allow participants to apply test automation with framework collectively known as BDD test frameworks to adopt test-first method and also, making tests accessible to non-technical users using specification by example. Participants will learn practices to allow writing solid and reliable tests & test code efficiently. Program includes many demonstrations. Participants will have hands-on during program with Behave and NUnit for various tests. Test framework concepts are also introduced so that participants can take test automation on another level.

More impotantly, program provides complete understanding of BDD as process and its implementation. All three stages; Discovery, Formulation and Automation are discussed in detail. Open Q&A sessions, demos and hands-on are included throughout the program.

Audience

Program is primarily for developers & testers and any Team member that are directly involved with Test Automation using Python.

Prerequisites

Participant must have beginner level knowledge of Python.

Topics
Introduction
  • Testing Fundamentals
  • Types of Tests
  • How to find Test Cases
  • Good Tests
  • Bad Tests
  • Automated Tests
  • What is Behaviour-Driven Development?
  • Living Documentation
  • Specification by Example
  • Discovery
  • Formulation
  • Automation
  • How Behave Works
  • Installation
  • First time using Behave
  • Creating a Feature
  • Creating Step Definitions
  • Implementing Step Definition
  • Behave Output
  • Adding an Assertion
  • Pass It
Gherkin
  • Format and Syntax
  • Feature
  • Scenario
  • Rule
  • Keywords
  • Comments
  • Background
  • Data Table
  • Scenario Outline
  • Doc Strings
  • Tags
  • Using subfolders
More Behave
  • Step and Step Definition
  • Binding
  • Capturing Data
  • Declaring Results
  • Helper Methods
  • Assertions
  • Transformation
  • Sharing State
  • Code Seperation
  • Dependency Injection
  • Refactoring
  • Hooks
  • Polling
  • Data Driven
  • Running Tests
  • Configuration
  • Reporting
  • Test Framework
  • Demo: Selenium Page Objects
  • Demo: API Testing
  • Demo: Library Testing
  • Demo: Handling async
  • Demo: Extending Behave
Improve Tests
  • Shared Environments
  • Leaky Scenario
  • Race Conditions
  • Fixture Data
  • Duplication
  • Collaboration
  • Testability
  • Legacy Code
  • Too Much Info
  • Using Domain Language
  • Defect Prevention
Exclusions

SDLC like Scrum, Test planning & estimation, TDD with Unit Testing.
Anything not mentioned in Topics1

Software Requirements

Latest PyCharm Community or Professional Edition (or any other Python IDE)

Internet Requirements

Good unrestricted internet connection is required.

Hardware Requirements

Laptop capable to run MS Office

Classroom Requirements

Projector with HDMI, White Board, Markers with Eraser

Online Requirements

Appropriate meeting software e.g. Zoom, MS Teams
Please make sure that camera, speaker and mic are working

Footnotes

  1. If you have any query, please drop us a line.