Maintaining behaviour driven development specifications: Challenges and opportunities

L. Binamungu, Suzanne M. Embury, Nikolaos Konstantinou
{"title":"Maintaining behaviour driven development specifications: Challenges and opportunities","authors":"L. Binamungu, Suzanne M. Embury, Nikolaos Konstantinou","doi":"10.1109/SANER.2018.8330207","DOIUrl":null,"url":null,"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 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 amongst respondents, 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 more generally. We map the survey results to the literature, and propose 10 research opportunities in this area.","PeriodicalId":6602,"journal":{"name":"2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER)","volume":"45 1","pages":"175-184"},"PeriodicalIF":0.0000,"publicationDate":"2018-03-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"19","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SANER.2018.8330207","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 19

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 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 amongst respondents, 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 more generally. We map the survey results to the literature, and propose 10 research opportunities in this area.
维护行为驱动的开发规范:挑战和机遇
在行为驱动开发(BDD)中,软件系统的行为被指定为使用“给定-何时-然后”结构与系统进行的一组示例交互。这些示例用高级特定于领域的术语表示,并且是可执行的。因此,它们既可以作为需求的规范,也可以作为验证当前系统实现是否提供所需行为的测试。这种方法有很多优点,但也存在一些问题。当示例数量增加时,BDD规范的维护和扩展成本可能会变得很高。一些团队发现,由于寻找和修改与之相关的示例的挑战,系统的某些部分实际上被冻结了。我们调查了来自26个国家的75名BDD从业者,以了解BDD使用的范围、它的好处和挑战,特别是在实践中维护BDD规范的挑战。我们发现BDD在受访者中被积极使用,并且BDD的主要好处是使用特定领域的术语,改善涉众之间的沟通,BDD规范的可执行性,以及促进对代码意图的理解。结果还表明,BDD规范在更普遍的自动化测试套件中遇到了同样的维护挑战。我们将调查结果映射到文献中,并提出了这一领域的10个研究机会。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信