Automating Gherkin Tests with Hexawise

By John Hunter · Sep 5, 2019

Hexawise Automate is a tool that makes it easy to write behavior-driven development (BDD) automated acceptance tests in Gherkin format as data-driven scripts. These data-driven test scripts are based on a Hexawise test plan, so they are much more maintainable than traditional BDD/Gherkin test scripts.  Any time changes are made to the parameters, parameter values, or testing criteria, one button click will generate new automated acceptance tests (formated for a wide variety of testing frameworks, including Ruby RSpec, Cucumber, Python UnitTest, Java JUnit, Robot Framework, Selenium IDE, and more).

Automated test scripts are notoriously expensive to maintain, and BDD/Gherkin test scripts are not immune to this problem. Normally, changes to the system under test, or just changes to how the system will be tested, means having to make changes to tens, hundreds, or (in some cases) thousands of feature files. With data-driven Hexawise Automate test scripts, that's not the case. Adding or removing parameter values, requirements, or constraints to the Hexawise test plan updates the data driving the Hexawise Automate test scripts, but there is no need to update the test scripts themselves.

The Hexawise Automate feature is a smart Gherkin feature file editor. It is aware of both the parameters, parameter values, and generated test cases of the current Hexawise test plan and the Gherkin test script syntax. It's easy to create a feature file containing data-driven Scenario and Scenario Outline sections that are populated by the generated test cases of the Hexawise test plan.

This blog post just touches on some aspect of the Hexawise Automate feature; to really see the power of this feature and to start using it in your testing, see our detailed reference article on getting started with Hexawise Automate.

Hexawise Automate's test scenario contains the sequential steps, expressed as plain-English Given/When/Then statements, that describe the necessary actions for executing the automated test script. By setting this up using <Parameter Name>, the generated tests will include the parameter values generated by Hexawise to create optimized test cases that thoroughly test for combinatorial bugs.

visual showing Hexawise Automate's scenario screen

This image shows an example where testing all the combinations of the 9 parameters required 42 test cases. By creating this scenario, those 42 test cases are generated and exported using your desired format (Ruby RSpec etc.). If you change a couple parameter values Hexawise will regenerate the optimized test plan and generate the new Gherkin scripts in your desired format with one click. Even adding or deleting a new parameter only requires adding or deleting one line in the scenario.

To learn more about how to use this idea to improve your software testing, see: getting started with Hexawise Automate.

Related: Using Hexawise to Export Values for Gherkin (Given, When --> Then)Mind Maps for Software Testing - 84% of Software Defects Found in Production Could Have Been Found Using Pairwise Testing