Maintaining Behaviour Driven Development Specifications: Challenges and Opportunities

Leonard Peter Binamungu, Suzanne Embury, Nikolaos Konstantinou

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

467 Downloads (Pure)

Abstract

In Behaviour-Driven Development (BDD) the behaviour of a software system is specified as a set of example interactions with the system using a “Given-When-
Then” structure. These examples are expressed in high level domain-specific terms, and are executable. They thus act both as a specification of the requirements and as tests that can verify whether the current system implementation provides the desired behaviour or not. This approach has
many advantages but also presents some problems. When the number of examples grows, BDD specifications can become costly to maintain and extend. Some teams find that parts of the system are effectively frozen due to the
challenges of finding and modifying the examples associated with them. We surveyed 75 BDD practitioners from 26 countries to understand the extent of BDD use, its benefits and challenges, and specifically the challenges of maintaining BDD specifications in practice. We found that BDD is in active use in industry, and that the use of domain specific terms, improving communication among stakeholders, the executable nature of BDD specifications, and facilitating comprehension of code intentions are the main benefits of BDD. The results also showed that BDD specifications suffer the same maintenance challenges found in automated test suites generally. We mapped the survey results to the literature, and propose 10 research opportunities in this
area.
Original languageEnglish
Title of host publication2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER)
PublisherIEEE
Pages175-184
Number of pages10
ISBN (Electronic)978-1-5386-4969-5
ISBN (Print)978-1-5386-4970-1
DOIs
Publication statusPublished - 5 Apr 2018

Keywords

  • behaviour-driven development
  • test suite evolution
  • test suite maintenance

Fingerprint

Dive into the research topics of 'Maintaining Behaviour Driven Development Specifications: Challenges and Opportunities'. Together they form a unique fingerprint.

Cite this