Litcius/Paper detail

Characterising the Quality of Behaviour Driven Development Specifications

Leonard Peter Binamungu, Suzanne M. Embury, Νικόλαος Κωνσταντίνου

2020Lecture notes in business information processing18 citationsDOIOpen Access PDF

Abstract

Behaviour Driven Development (BDD) is an agile testing technique that enables software requirements to be specified as example interactions with the system, using structured natural language. While (in theory) being readable by non-technical stakeholders, the examples can also be executed against the code base to identify behaviours that are not yet correctly implemented. Writing good BDD suites, however, is challenging. A typical suite can contain hundreds of individual scenarios, that must correctly specify the system as a whole as well as individually. Despite much discussion amongst practitioners and in the blogosphere, as yet no formal definition of what makes for a high quality BDD suite has been given. To shed light on this, we surveyed BDD practitioners, asking for their opinions on the quality criteria that are important for BDD suites. We proposed, and asked for opinions on, four quality principles, and gave practitioners the option to add more principles of their own. This paper reports on the results of the survey, and presents an approach to defining BDD suite quality.

Topics & Concepts

SuiteAgile software developmentComputer scienceQuality (philosophy)Software engineeringSoftware qualitySoftwareSoftware developmentProgramming languageArchaeologyHistoryPhilosophyEpistemologySoftware Engineering ResearchSoftware Testing and Debugging TechniquesAdvanced Software Engineering Methodologies