ON THE USE OF USER INTERFACE SPECIFIC DOMAIN GHERKIN IN BEHAVIOUR DRIVEN DEVELOPMENT
No Thumbnail Available
Date
2025-05
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
The University of Glasgow
Abstract
There has been a noticeable rise in the popularity of behaviour driven development (BDD) in
the software industry. Gherkin is a popular language for describing system behaviours, since
it uses simple natural language that can be understood easily by all those involved. Gherkin
describes system behaviours as examples of how the system should behave in different scenarios. However, existing research has identified several challenges with current approaches
to BDD and Gherkin. First, stakeholders struggle to express and negotiate requirements in
Gherkin when they are expressed in terms of business domain concepts. Second, the automated acceptance tests associated with requirements expressed in business domain concepts
require additional developer effort. Third, stakeholders find selecting an appropriate abstraction level when developing Gherkin scenarios can be challenging.
To address these challenges, this thesis investigates the feasibility and efficiency of using user
interface specific domain concepts for expressing requirements. This approach emphasises
the expression of system behaviours in terms of user interface elements, such as buttons, text
entry fields and so on. The intuition behind this approach is that the user interface represents
a common ‘language’ for stakeholder discussion of requirements, that is independent of
business specific concepts. The research followed an empirical methodology and used four
different methods to evaluate the approach: multivocal literature review, design science, case
studies, and laboratory experiment.
First, a multivocal review of BDD and its best practices was undertaken to establish the prevailing understanding of Gherkin usage. Second, a framework that comprises standardised
low level Gherkin scenario steps and the associated acceptance test functions was developed.
The objective was to investigate the applicability of user interface domain specific Gherkin
use in BDD.
Third, three case studies were undertaken to improve and validate the design and implementation of the user interface domain specific Gherkin language and the automated acceptance
test suites associated with it. The objective was to identify weaknesses in the design and
implementation of the user interface specific domain Gherkin language. The results of the
case studies suggest that using user interface specific domain concepts for communicating
system requirements is feasible.
Fourth, a controlled laboratory experiment was conducted to find out whether it is easier to
comprehend and document scenarios written in user interface specific domain Gherkin than
scenarios written in business domain Gherkin. The results indicate that non-software practitioners, who represent customers, found scenarios written in user interface specific domain
Gherkin to be significantly easier to document than scenarios written in business domain
Gherkin. Further, the results show that for the same group, scenarios written in user interface specific domain Gherkin were marginally easier to comprehend than scenarios written
in business domain Gherkin. In addition, the results suggest that for software practitioners, scenarios written in user interface specific domain Gherkin were marginally easier to
comprehend and document than scenarios written in business domain Gherkin.
Description
Keywords
behaviour driven development, agile methods, ui testing, user acceptance testing, gherkin language
