BDD evolution with AssertThat

By Nick Iles on November 4, 2019

Describes the journey - how AssertThat was born out of resolving the problem of how to manage and maintain BDD scenarios, AND make them easily accessible for the entire team.

Going back a number of years we were involved in setting up Agile practices and BDD frameworks for an organisation. Jira was already being used for tracking user stories and defects, however our Feature files were held in a separate system and not easily accessible. Adoption of BDD was poor and we realised the importance of making the features easily accessible and viewable alongside the user stories.

Our next step was to write BDD scenarios in Jira as custom issue types so we could link them to user stories tickets. Fortunately, one of our team was a Jira admin however it was a time consuming process to define the workflows and new components required to incorporate features and scenarios:

  • New Jira issue types – of Features and sub task type of Scenario.
  • New workflow to incorporate the test status
  • New custom fields to indicate if the Scenario is automated or manual
  • New issue links to link Scenarios to User Stories

This was a useful exercise as the approach to host BDD Scenarios and Features as separate tickets in Jira quickly highlighted challenges as well as benefits with the approach. The plain text fields had no syntax validation, auto formatting, or the ability to easily reselect steps. Scenario examples tables were messy and required manual formatting.

One of our key influences has been Eric Ries “The Lean Startup” book. The book discusses how to use the Build-Measure-Learn framework for establishing and continuously improving new products. There are a few key principles from this book which we hold at core of AssertThat’s product development approach

  • Persevere - Building new feature and then working closely with customers to iterate the feature based on customer feedback
  • Pivot – where you’ve gained valuable feedback from a hypothesis and use it to inform a new experiment.

After our experience of hosting our BDD Scenarios and Features as separate tickets in Jira we decided it was time to pivot. We wanted to host the features and scenarios in Jira, primarily to provide easy access for the entire team.

Atlassian’s marketplace gave us the opportunity to develop an app with our shopping list of key features based on our practical experience of BDD in Jira:

  • View scenarios and user stories on a single ticket
  • Ability to refactor features and scenarios outside the user story tickets
  • Provide functionality to make it as easy as possible to build and maintain features and scenarios
    • Bulk update scenarios and steps –for maintaining large BDD test packs
    • Syntax validation – key to minimise errors during automation
    • Step reuse – again key for test automation
  • Reporting – Automated and Manual test status in one place
    • For transparent status for the entire team – to avoid having your test automation results hidden out of sight
    • Ability to triage your failed tests and easily raise defects.

AssertThat’s BDD Test Automation plugin for Jira was born. Core to our principles is working closely with our customers to understand how they have used Agile and BDD in their organisation so that we can continue to develop the product.

If you would like a free demo or trial then please get in contact with us at [email protected] or a Try it for free - AssertThat BDD Test Automation for Jira