Quality of Behaviour Driven Development Specifications

In this project, we have been looking at aspects of behaviour driven development specifications that make working with them costly or risky (or both).

We undertook a survey of the BDD community, to understand the challenges and opportunities involved in the sustained use of BDD over time. In a second survey, we asked BDD practitioners about the features of BDD specifications that made them high quality.

We designed several approaches for detecting semantic duplicates in BDD specifications, and evaluated them against 3 open source systems on GitHub. These were implemented in the SEED2 tool.

In current work, we have proposed four properties that a high quality BDD suite should have, and have been experimenting with ways of assessing them automatically. These criteria were used to build a tool to advise on which of a pair of duplicate scenarios should be removed from the specification, in order to maximise the quality of the result.

Project Members

  • Leonard Peter Binamungu, Lecturer in Computer Science, University of Dar es Salaam
  • Nikos Konstantinou, Research Associate, University of Manchester
  • Suzanne M. Embury, Reader in Software Engineering, University of Manchester

Publications

  • Binamungu L.P., Embury S.M., Konstantinou N. (2020) Characterising the Quality of Behaviour Driven Development Specifications. In: Stray V., Hoda R., Paasivaara M., Kruchten P. (eds) Agile Processes in Software Engineering and Extreme Programming. XP 2020. Lecture Notes in Business Information Processing, vol 383. Springer, Cham. https://doi.org/10.1007/978-3-030-49392-9_6
  • L. P. Binamungu, S. M. Embury and N. Konstantinou, “Maintaining behaviour driven development specifications: Challenges and opportunities,” 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER), Campobasso, 2018, pp. 175-184, doi: 10.1109/SANER.2018.8330207.
  • L. P. Binamungu, S. M. Embury and N. Konstantinou, “Detecting duplicate examples in behaviour driven development specifications,” 2018 IEEE Workshop on Validation, Analysis and Evolution of Software Tests (VST), Campobasso, 2018, pp. 6-10, doi: 10.1109/VST.2018.8327149.

Dissertations

Software

  • SEED: Eclipse plugin for managing duplicate scenarios