The Behavior Driven Development approach – BDD – centers around stories written in an “ubiquitous language” that describe the expected behavior of an application. The use of the human-readable language Gherkin allows technical as well as non-technical project stakeholders to participate in the authoring of feature descriptions and therefore tests. Those descriptions serve as a base for the work of both developers (specification and feature descriptions) and testers (test steps).
Using this approach, the test logic is clearly separated from the test implementation – leading to a clean and future-proof test design.
The Squish IDE provides never before seen tooling support to create, record, maintain and debug Behavior Driven GUI Tests
BDD is a recognized and highly regarded development and testing approach made popular by a wide range of test frameworks such as Cucumber, Behave and others. Squish’s support for BDD is unique because it tightly combines and integrates the BDD approach and GUI test automation.
Squish also provides a tremendously valuable and handy reporting feature for behavior driven tests: Feature files in the Squish IDE are color-coded after a test run based on the results of the individual test steps.
Squish IDE: BDD test (feature file) with color-coded test run results
The ability to generate a very rich and powerful HTML report for BDD tests is also available. The new reporting has also been integrated in all major Squish ALM and CI integrations. Using of any of Squish’s test management and continuous integtration plugins, you will also benefit from the rich reporting features of Squish’s of BDD support.
Squish also allows BDD test cases and pure script test cases in a single test suite, for example sharing script code between script test cases and BDD test cases. We view this as gradual migration to BDD from existing, pure script-based tests – helping make the transition both easy and possible – all in a well supported environment.
The video below demonstrates how to create your first BDD test case in the Squish IDE: