What End-to-End Test Automation for Behavior-Driven Development Looks Like
Test and Monitor | Posted January 24, 2019

Behavior-Driven Development is Gaining Popularity

Many organizations have turned to Behavior-Driven Development (BDD) due to its ability to use plain English syntax called Gherkin to quickly align across stakeholders with varying technical expertise, bridging the gap between business, development, and QA teams. If we can remove the technical jargon, then more people should be able to understand and participate in the development process, right? That is the light that is brightened with adopting BDD within organizations. Regardless of how technical you are, every stakeholder can create a shared understanding of user requirements, making it easier build quality software faster.

Before we dive deeper on how test automation with BDD is easier to adopt, it will be helpful to get some terminology unique to the BDD world.

  • Example-Driven – a methodology that uses examples to describe how an application should behave. An example of an application behavior could be a banking application being able to tell its user how much money they have in their account
  • Gherkin – a structured language to describe how an application should behave according to simple business rules. Gherkin follows a Given, When, Then, And, But format to describe an application behavior.  One Gherkin example is considered a feature scenario.
    • Given I have $100 in my bank account
    • When I withdraw $10
    • Then I should have $90 in my bank account
  • Feature File – one or more feature scenarios in one file. This file can be in the form of a notepad, excel file, or within a tool or framework
  • Step Definitions – a template written in a programming language that links to each step in a feature file that can then be updated to run as a test script

Three Steps to Automate Your BDD Workflow

With the right tools, teams can accelerate their adoption of BDD. TestComplete offers end-to-end native support, allowing business analysts to engineers to automate a BDD workflow. Without the need to add plugins for a BDD interpreter or a test runner, native support for BDD in TestComplete cuts your tool stack in half right out of the box.

In the below workflow, you can see how seamless the process looks like in TestComplete:

Step 1: Create feature files written in Gherkin syntax or data tables in the TestComplete Workspace

  1. Assign Tags to features and scenarios to organize and run them by category. For example, @SmokeTest, @RegressionTest

Gherkin in TestComplete

Step 2: Right-click on the Scenario and select “Generate Step Definitions” to convert your BDD feature file into a step definition.

  1. Inside TestComplete, use the tool’s industry leading object recognition functionality or Record and Replay to quickly build automated UI tests for each BDD scenario
  2. Use Hooks as event handlers to run specific functions before and after your BDD scenario
  3. Review your update step definition and refactor continuously when updates are made to the feature file

Step Definition in TestComplete

Step 3: Right-click on the Scenario in the TestComplete Project Explorer and select “Run” all your BDD scenarios or specific categories based off assigned tags

  1. You can also run features, scenarios, and individual steps directly from the Gherkin Editor by Right-clicking on the Gherkin File, and selecting “Run This Feature”, “Run This Scenario”, or “Run This Step” to allow you to iterate on feature files and refactor your tests quickly
  2. Once all your tests are built, you will be able to run those automated tests in TestComplete, or start them with your favorite CI/CD tool such as Jenkins, and report on whether those tests passed or failed

Run BDD in TestComplete

BDD Makes Test Automation Easier

Organizations adopting Behavior Driven Development are reaping a variety of benefits:

Decreased Time Pressure: Depending on the application size and complexity, it can take days to convert code into test scripts. Increasing collaboration with testing by being able to build Gherkin feature files right inside TestComplete can initiate test cycles earlier.

Decreased Wasted Time and Effort: Imagine creating a test script for a feature that doesn’t exist or is meant to act differently. Test Automation for BDD inside TestComplete helps link your feature files to your test scripts, ensuring teams are testing the right functionality everyone agreed upon

Increased Cost Savings: Finding bugs later in development is far more expensive. By increasing collaboration with testing earlier, quicker feedback on feature files and from test runs can lead to increased cost savings.

Embracing BDD enables quality to have a voice throughout development, making efforts toward building, maintain, and executing automated tests easier. With end-to-end test automation for BDD, QA teams can alleviate increasing pressures to move faster and build higher-quality software.

Coming Soon:

Sync Test Automation with the Only BDD Collaborative Platform

TestComplete includes a seamless integration with HipTest, the only native BDD collaborative platform to define test cases and generate living documentation. With HipTest and TestComplete, SmartBear is leading innovation for BDD test automation.