BDD is an Agile software development approach where requirements are written in a shared common language such as English which closely involves the customer throughout the development process from beginning to end. This involvement ensures that the developers have clarity and removes the ambiguity to develop software that meets the business goals. BDD requirements are written scenarios based on the roles or users expressed in the GWT (Given-When-Then) format.
“Given” provides insight to what the conditions are for the scenario.
“When” is the actions being performed and
“Then” would be the expected outcomes.
These actions are written in feature files.
Feature files are used by the developers and shared with the testers for insight into behaviours, data needs, permutations and more valuable reporting capabilities.
Due to the lack of context when outsourcing, for BDD to be effective, both the testing team and all the stakeholders must have a commitment to how BDD works that will enable test automation and support the testing team with necessary test requirements to test the scenarios defined in the feature files.
Key points to support BDD effectively in providing testing services are:
- The inclusion of the Test Automation team throughout the development process is critical as it provides insight as to how the feature(s) should behave.
- Feature files must be provided to the Test Automation team as it provides the context and steps of the scenario/s.
- The feature files must be provided as a prioritised Product Backlog to ensure the value and visibility of the test team’s progress.
- A close collaboration with the Developers, Business Analysts and Product Owner is critical to minimize ambiguity and better prioritisation of work items.
BDD is an Agile software development approach to promote effective communication for requirements engineering, however it does not improve development processes, make code perfect first time through, or make the people any less difficult. Considering the above, the only way to provide the highest ROI and value using BDD is to consider the information provided in this position paper during the sales and the Proof of Concept to determine the most suitable risk mitigation strategies.