I think we can all agree that practices like Behavior Driven Development (BDD) are all about conversations and collaboration. But in large groups with many sprint teams spread out across the world, this collaboration can sometimes get derailed. 

I’d often struggled with this myself. I have eight sprint teams in different locations with product owners and our users scattered about. It’s been difficult to get collaboration and have conversations around our BDD, because not everyone has access (or knows how to get to) our features and scenarios. We also need to link requirements to our BDD features, which has been a challenge.

Sometimes teams become fixated strictly on their team’s own features, and forget about the features of other teams that may be affected. On top of all that, being able to easily share the status of all our automated BDD test runs with the teams has been difficult.

All this got me thinking that there had to be a way to help my teams better manage their BDD, TDD and ATDD efforts –and as it turns out, there is! I found a new solution called qTest Scenario (by QASymphony) that might be just what folks like myself who find themselves in this situation are looking for.

Introducing qTest Scenario

qTest Scenario is a JIRA plugin that was designed to help you easily manage your BDD/TDD end-to-end workflows, including creating tests and executing them as well as acting as a centralized repository for test results, test defects management and resolution. qTest Scenario was developed with some key team benefits in mind, like:

How it works with BDD

qTest Scenario takes the BDD feature files your teams are already doing in their IDEs and pulls them directly into a common location in JIRA. This has multiple benefits, including having one location where people across your organization can collaborate on your projects’ features and scenarios. You can then leverage the JIRA workflows to easily group your features and run certain batches of tests, which fits in nicely with a DevOps pipeline. You can also track the status of your features at the scenario level over time, since a running history is kept every time a feature file executes a scenario.

Having all your features in JIRA also frees the scenarios from the developers’ IDEs and allows the team to better focus on the end user. It also helps reduce scenario duplication creep that can happen in large teams.

For example, some of the features our team works on include scenarios that have already been covered in another team’s feature. Duplication is not good, because it increases our test run time and adds overhead to our test maintenance efforts. Using qTest Scenario, however, lets us easily query all our feature/scenarios and determine whether a particular example has already been covered.

Test Management

Another benefit I can see of using qTest Scenario is better overall test management, because it enables you to utilize JIRA’s easy-to-use reports, which makes sharing your teams’ testing progress within each sprint visible to your entire organization. I don’t know about you, but this is a quite an improvement over my current, time-consuming manual process of emailing every team the results of our nightly BDD test runs, then manually creating a results history in our project’s Wiki.

Simple Example

Let’s take a look at a simple example to get a feel for how the qTest Scenario solution works:

qTestScnearioJira

JiraQTestDropDown

qTestMenu

FeatureImports

BananaFeature

ImportResults

CheckOut

MenuGerkinOptions

BeforeDownMergeqTest

qTestPom

qTestDownMerge

qTestRunResults

FeatureReport

qTest Scenario is a brand new product, and as far as I can tell from my research, a unique solution for a problem I don’t currently see being addressed by any other vendors. The great thing about being an early adopter of a product is being able to influence the direction of the vendor’s roadmap by asking for functionality that is important to your teams needs.

For example, I asked them about the ability to version control the scenarios (by tying changes to the versions in the code) and was told that was actually one of the top features that was requested when demoing it to customers, so QASymphony does have it on their roadmap for a future release.

Right now, out-of-the-box qTest Scenario supports Cucumber for Java with Maven. qTest Scenario does have an API that would enable users who don’t use Cucumber/Java/Maven to allow them to develop a custom integration for their automation solution into qTest Scenario as well. I am told that upcoming plugins will include Cucumber for Java using Gradle, as well as python, ruby, and SpecFlow integrations based off of customer demand.

My Recommendation

 

Given this was launched around a month ago, and still seems like a concept product with limited out-of-the- box reporting options, I think this is a great first iteration of qTest Scenario, and I can only see it getting better. I think qTest Scenario would really help give your BDD efforts visibility from development to testing.

My recommendation is that if you’re looking for a solution that helps you to manage your BDD efforts, especially in an enterprise-wide environment, I would seriously consider taking a look at qTest Scenario for your BDD, TDD or ATDD projects.