Behavior Driven Development A Systematic Literatur
Behavior Driven Development A Systematic Literatur
This is the author's version which has not been fully edited and
content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2023.3302356
1
Department of Artificial Intelligence, School of System and Technology, University of Management and Technology, Lahore, 54000, Pakistan
2
Department of Information Science, Division of Science and Technology, University of Education, Lahore, 54000, Pakistan
3Department of Computer Science, School of System and Technology, University of Management and Technology, Lahore, 54000, Pakistan
4
Department of Computer Science, Kardan University, Kabul 1007, Afghanistan
Corresponding author: Zabihullah Atal ([email protected])
ABSTRACT Behavior Driven Development (BDD) is a widely adopted agile methodology for software development that
emphasizes the behavior of an application as a series of test cases, using the keywords, which include "Given," "When," and
"Then." It involves writing requirements in a structured and testable format that can be evaluated to ensure compliance with
the expected behavior. Although a significant amount of research has been conducted to examine the impact of using BDD on
software development process yet rare work is observed to synthesize these studies and identify areas for future exploration.
This study presents a review of the state-of-the-art BDD by synthesizing the recent advancements in its uses and applications.
It aims to systematically investigate the impact of BDD on software development process as well as on product quality by
aiding to bridge the communication gap between the stakeholders. The results reveal that BDD is an effective technique to
clarify requirements during the software development process as it helps minimizing the intrinsic ambiguities. This work
proposes a taxonomy based on the role and applications of BDD in various contexts. It suggests a framework for applying
BDD in software development and defines a workflow for its application in software development. Finally, this work highlights
some pertinent future directions for the use of BDD in software development.
1
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License. For more information, see https://creativecommons.org/licenses/by-nc-nd/4
This article has been accepted for publication in IEEE Access. This is the author's version which has not been fully edited and
content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2023.3302356
operation names, plays a crucial role in both creating test Section V represent the limitations. Finally, Section VI
cases and identifying issues in the event of a failed test. BDD presents the conclusion of this work.
utilizes natural language as a universal mode of
communication to describe the expected outcomes using II. RELATED WORK
scenarios in a test. This process of mapping sentences to code BDD has been shown to be an effective method for
based on scenarios is usually done manually, which is time- addressing the disconnect between business stakeholders and
consuming and prone to errors. The data collection is developers. It has been used by the software development
necessary to execute this process on a basic level previously teams to improve the quality of software development
given in the natural description. The purpose of BDD is to processes and the quality of the final product. Several studies
retrieve a system specification as output which is executable have been conducted to evaluate the effectiveness of BDD.
[5]. Six major features of BDD were identified in [6], which Some of these studies exhibit systematic evaluations, which
include iterative decay method, client story, and the aimed to examine the techniques, methods, and tools
templates of the scenarios. Additionally, automatic testing, associated with BDD, as well as any problems that may arise
evaluation acceptance with planning rules, clear behavior when using this approach. Additionally, these evaluations
code, and behavior-driven at various stages are supported by sought to determine the most appropriate workflow for
various toolkits, including JBehave [7], Cucumber [8], and implementing BDD in software development. Vijaysarathy
RSpec [9]. However, the BDD technique is still in its early et al. investigated the justifications for why individuals and
stages. Similarly, as many other agile strategies, the adoption associations accept are implement agile methods, as well as
and consistent utilization of BDD is directly associated with the advantages and issues that improvement groups
organizations, individuals, process, and technical aspects experience in the beginning stages of adopting specific agile
[10], [11] . Despite a notable research is produced to examine methodologies [11]. In other research, Senpathi et al. utilized
BDD impact on software development process, efforts are the Agile Usage Model to decide the factors that influence
required to synthesize these research studies in order to the effective application of agile methodologies after they
examine whether and how BDD supports the software have been acknowledged by organizations, as well as the
development process and how its applications in software effect of acceptance [12]. In [13], few descriptions of the
development can be improved. The main objective of this organizational, individuals, process, and technological
study is to synthesize the state-of-the-art BDD and examine viewpoints that impact the adoption of agile approaches can
the applicability of this technique in software development be found.
process. It further aims to identify any areas that lead to In [14], Binamungu et al. investigated the extent to which the
improve existing approaches of BDD and determine the market utilizes BDD and its associated benefits, as well as
future prospects of BDD in software development. the common and specific challenges faced, particularly in the
This article presents a thorough and comprehensive review duplication of material. They proposed ten different options
of the latest advancements in BDD and evaluate its potential for researchers to aid in re-evaluating and modifying their
to improve various issues in software development process BDD practices using both quantitative and qualitative data
such as ambiguities in requirements resulting from collected via a web survey. The study primarily focuses on
misunderstandings between business stakeholders and the the opportunities and level of BDD usage. However, it does
development team. This study presents a BDD taxonomy to not discuss the limitations of the approach. Another study [6]
assist practitioners and researchers in identifying various conducted by Solis and Wang analyzed the features of BDD,
techniques for evaluating software behavior. Additionally, a the accompanying tool support, and the weaknesses and
framework is proposed to highlight the stage wise strengths of current applications as previously reported by
explanation of the key aspects of applying BDD during the Okolnychyi and Fogen in [7]. However, the study does not
software development process. Furthermore, a workflow for explore other important tools and their strengths and
application of BDD in software industry has been proposed weaknesses. Rahman and Gao discussed the restructuring of
for the explanation of overall working of the proposed issues that may arise when adapting BDD tests to multiple
framework. Finally, the problems and research gaps have configurations in [15]. Rai [16] evaluated the effectiveness
been identified to guide future research of the application of of the BDD technique in practice, as well as the ease with
BDD during the software development process. which individuals can acquire and understand Gherkin, the
The structure of this article is as follows: Section II presents most popular medium of communication in BDD. However,
a review of the related work. Section III outlines the the study does not focus on its impact on development. The
methodology for conducting this work by presenting the improvement of time, cost, communication, and software
study objectives, research questions, the strategy for quality through the use of BDD was discussed in [17].
identifying relevant literature, the process for selecting However, it failed to address the weaknesses and issues
studies, and the criteria used to assess the quality of the where the targeted approach was not effective or where the
studies. Also demonstrates the findings obtained in response approach did not resolve the problem.
to investigating the research questions. Section IV shows an Previous research has presented four principles for
in-depth discussion and analysis of the research discoveries. determining the quality of BDD suites, as surveyed from
75% of practitioners in [1]. However, these studies did not
provide a comprehensive identification of BDD techniques
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License. For more information, see https://creativecommons.org/licenses/by-nc-nd/4
This article has been accepted for publication in IEEE Access. This is the author's version which has not been fully edited and
content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2023.3302356
and impacts through any taxonomy to assist researchers and extraction from the chosen research, in which important
developers in their respective domains. Additionally, it has information and key findings were identified. Finally, in
been shown that BDD and TDD practices, when compared Stage 5, the selected data after screening were considered to
to TDD, BDD can be costlier in terms of time and money. determine the synthesis of findings and to address the
However, BDD is generally more effective in terms of user research question, and also highlight relevant findings as
acceptance, as opposed to TDD [18]. A case study presented shown in Figure 1.
in [19] demonstrated that, compared to the Scrum approach
used in the EAMS-CBALM development, the BDD process A RESEARCH OBJECTIVES (RO)
improved communication between the product owner and Following are the main objectives of this research study:
developers or designers throughout the development process, 1. To identify state-of-the-art BDD techniques and
while also maintaining a normal level of communication approaches.
targeting the education sector, through the use of acceptance 2. To determine the role of BDD in solving problems
tests and BDD scenarios. Despite these improvements, there discovered in communication between business
remains potential for further enhancement of such stakeholders.
approaches. 3. To identify BDD impact on software development
This study contributes to the field of software development
process.
by presenting a review of the state-of-the-art BDD and
assesses its potential for addressing critical issues, such as
requirements ambiguities resulting from misunderstandings
between business stakeholders and the development team. A
taxonomy is presented to assist practitioners and researchers
in identifying various aspects of BDD. Furthermore, a
workflow is proposed to illustrate the application of BDD in
the software industry, offering a comprehensive overview of
how the proposed framework can be implemented in
practice. By providing step-by-step guidance, this workflow
aids in understanding the overall working and benefits of
BDD in software development. The problems and gaps in
current approaches have also been highlighted to guide
future research directions for the application of BDD in
software development.
Figure 1. SLR process model
III. RESEARCH METHODOLOGY
This study mainly follows the widely established Systematic B RESEARCH QUESTIONS (RQ)
Literature Review (SLR) technique outlined in [20] and the The primary objective of this work is to explore the state-of-
techniques observed in [21]. An SLR is an approach that the-art BDD in order to identify the future research
includes the systematic collection and analysis of literature dimensions in the specified area. Considering the major
in a particular field. Finding significant research gaps and objective of this study, the research questions to investigate
overlooked areas that demand more research is the primary the specific aspects of BDD are devised. Table I presents the
objective. It can be used to determine future research
research questions evaluated in this review as well as their
priorities and to identify areas where more research is
major motivation.
needed. Conducting an SLR requires a significant amount of
time and effort, but a rigorous methodology can help ensure TABLE I. Research questions and major motivations
Research Question Major Motivation
that the review is comprehensive.
RQ1 What techniques and methods To find the solution of the
This study followed a multi-stage methodology of are used to reduce intrinsic communication gaps
conducting the review. In Stage 1, a comprehensive review ambiguity and communication between the business
of previous studies was conducted to gain an understanding gap between the members of people and stakeholders
of the existing literature in the field. This helped to identify agile team? .
RQ2 What are the BDD impacts on To identify the BDD impact
the research objective and formulate a specific research software development stages? on software development
question. A search string was developed, and inclusion and process
exclusion criteria were established. Stage 2 involved an RQ3 What challenges and
To identify major
extensive search using the defined search string across opportunities have been
opportunities and problems
reported to use BDD in
relevant databases followed by the selection of primary software development?
of using BDD approach
research studies that met the criteria outlined in the inclusion
and exclusion criteria and screening out irrelevant ones. In C SEARCH SCHEME
Stage 3, studies were further excluded based on the The development of a comprehensive search plan to
predefined exclusion criteria, resulting in a final list of
accurately identify and retrieve relevant articles within the
studies for the SLR. The Stage 4 concentrated on data
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License. For more information, see https://creativecommons.org/licenses/by-nc-nd/4
This article has been accepted for publication in IEEE Access. This is the author's version which has not been fully edited and
content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2023.3302356
nominated subject is a crucial aspect of an SLR. This process Repository Search String
METADATA":AUTOMATION OR "ALL
encompasses the formulation of a search string, the METADATA":FRAMEWORK OR "ALL
utilization of bibliographic databases to execute the search, MATADATA":AGILE OR "ALL
and the implementation of a screening plan to recover highly METADATA":APPROACH) NOT ("ALL
pertinent articles from the collection. A portion of the METADATA":BINARY DECISION DIAGRAM)
ACM "BEHAVIOR-DRIVEN DEVELOPMENT" AND
selected materials were subjectively and critically evaluated Digital ("TOOL" OR "SOFTWARE" OR "REQUIREMENT"
to address multiple perspectives on the subject. Library OR "PROCESS" OR "SPECIFICATION" OR
"AUTOMATION" OR "FRAMEWORK" OR "AGILE"
OR "APPROACH") AND NOT "BINARY DECISION
1) SEARCH STRING DIAGRAM"
An in-depth study was conducted to formulate a search string
that would aid in the retrieval of relevant studies from digital
repositories. The research began with an initial literature 3) INCLUSION AND EXCLUSION CREITERIA
review on the subject. To select all potential systematic The method of collecting data for this study was designed to
literature review (SLR) research studies, a search string identify articles that were relevant to the objective of this
comprising of primary, secondary, and additional keywords research. When the same material appeared in multiple
was employed. Google Scholar has been demonstrated to be publications according to our search, it was only included
an efficient tool for conducting bibliometric research [22]. once. The initial task was to classify the research from each
To perform the automated search of relevant literature, the source using the specified search string. Articles with
following search string was utilized: matching titles or those that were not directly related to the
review were excluded.
((Behavior-Driven Development" OR "BDD") AND ("tool"
OR "software" OR "requirement" OR "agile" OR "process" IC1: Studies that examine the role of BDD in addressing
OR "automation" OR "framework" OR "approach" OR communication problems between business stakeholders
"specification") NOT ("binary decision diagram")) during software development.
To construct an effective search string, logical operators IC2: Studies that investigate the impact of BDD on the
software development process.
such as "AND" and "OR" were used to combine the final
IC3: Studies that are focused on the applicability of BDD in
keywords and alternative terms. The wildcard operator "*"
software industry.
was also employed to represent zero or more characters as
EC1: Duplicate paper.
necessary. However, if no additional or tertiary keywords were EC2: Studies that are not written in English language.
required in the string, the use of the wildcard operator was EC3: Studies that are not related to the domain of software
unnecessary. The utilization of the "OR" operator enabled a development.
broader range of search options, while the "AND" operator
linked phrases to depict search alternatives and narrowed the 4) SELECTION OF RELEVANT PAPERS
query to yield relevant search results. The primary search approach produces a large number of
research publications, not all of which are directly according
2) LITERATURE RESOURCES to the set questions designed for the research, and there is also
The most prominent and domain related literature resources duplication. As a result, the searched articles must be re-
have been considered to search the research articles for evaluated and screened in order to obtain genuinely essential
carrying out this review. Details of the selected sources and publications. The approach given in [23], [24] was used to
search phrases applied are listed in Table II. determine the relevance and screening of publications.
TABLE II. Applied search strings on different repositories The first step is to classify the studies by title and remove
Repository Search String duplicates. There were a number of articles available that were
Springer ("BEHAVIOR-DRIVEN DEVELOPMENT") AND
Link ("AUTOMATION" OR "SOFTWARE" OR
irrelevant to the specified topic, thus they were screened by the
"FRAMEWORK" OR "SPECIFICATION" OR title and inappropriate research articles was excluded. Finally,
"AGILE" OR "PROCESS" OR "REQUIREMENT" OR by observing the specified approach, the selected articles are
"APPROACH") AND NOT ("BINARY DECISION
screened for following stage of the assessment.
DIAGRAM")
Science ((BEHAVIOR-DRIVEN DEVELOPMENT" OR
Direct "BDD") AND ("SOFTWARE" OR "REQUIREMENT" 5) ABSTRACT BASED KEYWORDING
OR "AGILE" OR "AUTOMATION" OR The screening of articles was also performed by applying the
"FRAMEWORK" OR "SPECIFICATION") NOT
("BINARY DECISION DIAGRAM"))
two-stage abstract-based key wording approach given in [25].
IEEE ("ALL METADATA":BEHAVIOR-DRIVEN The abstract was at first analyzed to decide the fundamental
Xplore DEVELOPMENT OR "ALL METADATA":BDD) AND part of the paper, its commitment to the point, and the most
("ALL METADATA":TOOL OR "ALL significant keywords. The keywords found from numerous
METADATA":SOFTWARE OR "ALL
METADATA":REQUIREMENT OR "ALL papers are then converged through which a conceivable
METADATA":PROCESS OR "ALL comprehension of the commitment of the review has been
METADATA":SPECIFICATION OR "ALL
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License. For more information, see https://creativecommons.org/licenses/by-nc-nd/4
This article has been accepted for publication in IEEE Access. This is the author's version which has not been fully edited and
content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2023.3302356
created. At last, these keywords were utilized to identify the normal rate is counted when it is between 4 and less than 6,
articles for review processing. and low ranked if it is less than 4.
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License. For more information, see https://creativecommons.org/licenses/by-nc-nd/4
This article has been accepted for publication in IEEE Access. This is the author's version which has not been fully edited and
content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2023.3302356
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License. For more information, see https://creativecommons.org/licenses/by-nc-nd/4
This article has been accepted for publication in IEEE Access. This is the author's version which has not been fully edited and
content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2023.3302356
31 selected articles, 26% got the score of 6 or higher than 6 Developers will utilize the language to name classes and
and nominated as the high-graded articles, 58% of the selected methods throughout the design and execution phases. Two
articles get normal rank, having a range between 4 and less case studies were discussed in which Project A settled on
than 6 while 16% of these studies exhibit low rank with score utilizing Scrum [30], [31] in addition to BDD, which benefits
less than 4. This information is represented in Figure 6. the development team’s proper clarification and
understanding of the requirement before moving to the code
because it overcomes domain linguistic and cultural barriers
by being clear and direct on the necessities. A research [32]
involved a natural language to establish a supported stream
for BDD in which the customer takes part in a discussion of
the system just for the build step of the structure and also the
skeletons of the code semi-automatically from a known
scenario. BDD utilizes normal language as a method of
correspondence to guarantee that all task individuals,
including designers and partners, have a mutual
understanding of the framework to be delivered [33].
FIGURE 6. Score-based articles ranking
TABLE V. BDD Techniques
Techniques Description Ref No.
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License. For more information, see https://creativecommons.org/licenses/by-nc-nd/4
This article has been accepted for publication in IEEE Access. This is the author's version which has not been fully edited and
content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2023.3302356
in the study [31] that is used for reducing the manual code arrangements while getting great outcomes. Similarly, a case
maintenance need by translating natural language statements study was led [43] on portable application growth utilizing
into executable step functions. Similarly, another study [37] agile software, a sum of 42 interviews was performed (before
presents a BDD model library with foundational UML utilizing BDD and in the wake of utilizing BDD), and the
(FUML) activities for evaluating equality and inclusion. positive effects are highlighted clarification, simplicity of
Another study [38] describes T-BDD, a testing strategy that improvement, project arrangement, and harmful impacts are
combines TDD with BDD methodologies. The T-BDD pitiable execution, and trouble to change development
approach was used in the Vixio backend system, proving its mindset. However, the study [1] introduced a step
capacity to produce a high percentage of test coverage. accommodating four principles for evaluating the output of
Furthermore, when the feature parameters were changed, the
the proposed structure of BDD and its principles were
T-BDD technique demonstrated its flexibility. Also, an
acknowledged by somewhere around 75% of the specialists
Eclipse-based development tool is used that gives developers
studied. Specialists featured the significance of reuse inside
a specific vocabulary for designing certain scenarios that are
BDD, a more prominent spotlight on the meaningfulness and
executable and also provides forward updates on the project
state based on confirmed provided behavior. lucidity of the resultant details.
Hence, different research studies analysis indicates that A study [12] identified that using BDD encourages team
removing ambiguities of natural language is one of the most members to interact with each other. This might mean that
important point or major benefit of using BDD to reduce the information-gathering process needs to be modified as a
communication gap. result of increased team member collaboration. Furthermore,
participants have reported other good qualities that may be
related to the usage of BDD, such as an improvement in
b: ASSESSMENT OF QUESTION 2. WHAT ARE THE BDD feature knowledge. In [44], the work demonstrated how a
IMPACTS ON SOFTWARE DEVELOPMENT STAGES?
leaner is helped and guided by BDD and towards adopting
Approximately 43% of the chosen studies included
more agile operation and a detailed workflow is provided. It
information regarding the impacts of BDD. Around 26% of
improves collaboration and delivers value for all
shortlisted studies focused on the benefits of BDD in
stakeholders in the development of complex products in
improving communication. Furthermore, approximately
large companies by splitting the client's include demand into
23% of the selected studies emphasized the impact of BDD
more modest, well-distinct outcomes and connecting the
on cost reduction. Around 17% of the research looked on the
structure of an organization’s significance across the
role of BDD in requirement verification and code quality
complete steps. On the other hand, a new approach is
maintenance. Furthermore, almost 13% of the selected
proposed in [34] which is Infrastructure for Spatial
studies focused on collaboration and the establishment of
Information in the European Community (INSPIRE)
clear requirements. Two studies, accounting for 7% of the
conformance testing of web-based Geo-graphic Information
total, mainly assessed the ability of BDD to eliminate
(GI) facilities utilizing BDD, in which non-specialized
requirement duplication and improve the overall quality of
stakeholders can take part in the requirement (ATS)
software development. The remaining studies in the analysis
Application Tracking System authoring process and get
focused on the impact of BDD on the overall performance
experiences in the consistence cycle.
and success of the software development process.
The highest Focus of any software engineering project is
The BDD implementation helps the development team to
Quality without measuring we cannot ensure the level of
improve communication between the local and remote
quality, many techniques or types are addressed in [45] to
employees, as well as arrangement with industry people and
understand which model or technique can be applied to which
the speed of the supply, by high re-ease of use and increase
type of Software development Life Cycle (SDLC) phase.
of acceptance increases high of the tasks, defining BDD
Sometimes software deliverables do not perfectly meet the
scenarios help to align requirements and expectation that
requirements, it is due to lack of testing and test cases for
improve product quality and stability [39]. A well-known
resolving. In this scenario, the BDD is used to generate test
culture of the proposed BDD advances the accuracy ratio and
cases as well as execute reports [36], [46] described that the
raises the self-confidence of all members [40], [41].
regression test selection (RTS) technique is used for BDD
Similarly, the review conducted in the study [18] shows that
specifically to fast up the development process while
BDD consumes more time and cost than TDD but achieves
maintaining software quality. However, the studies [47], [48],
higher customer satisfaction specifically in the beginning of
[49] show that the fundamental part of BDD is refactoring and
software development process.
is used for the improvement of maintainability of the artifacts.
The study [42] analyzed the effect of BDD on internal code
After the analysis of previous researches, it can be seen that
quality as well as on the overall quality of the code, and
BDD has many impacts on SDLC and quality of the product.
identifies improvement in the quality of the product through
Figure 7 represents the studies that described the BDD impact
BDD. Likewise, a few examinations were found in a research
on y-axis and x-axis shows the amount of papers that discussed
[15] in which BDD is tried for the improvement of computer
the mentioned BDD impact. The analysis of the BDD impact
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License. For more information, see https://creativecommons.org/licenses/by-nc-nd/4
This article has been accepted for publication in IEEE Access. This is the author's version which has not been fully edited and
content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2023.3302356
on software development reveals that 8 out of the 31 selected C: ASSESSMENT OF QUESTION 3. WHAT CHALLENGES
studies explored the benefits of BDD in enhancing AND OPPORTUNITIES HAVE BEEN REPORTED TO USE
BDD IN SOFTWARE DEVELOPMENT PROCESS?
communication, while 7 of these studies emphasized its effect
Approximately 35% of the selected studies analyzed
on cost. Five of the shortlisted articles investigated the role of
challenges and opportunities in BDD. Table VI summarizes
BDD in verifying requirements and maintaining code quality
the various problems and opportunities related to BDD in
and 4 of the selected studies focused on the impact of BDD on
software development. Experts believe that BDD might have
collaboration and clear requirements. Two studies examined a stronger positive influence during the requirements phase
the ability of BDD to remove duplication in requirements, of software development [50] . In [38] the combination of
BDD and TDD can produce T-BDD strategy that is utilized
for backend testing, perform and accomplish a high level of
test-inclusion and performed better when contrasted with
TDD testing strategy. Similarly the study [51] shows that
Large-scale programs were not planned for BDD also writing
test case difficulties and adoption of new technologies are the
challenges. Looking at the advantages of BDD can help with
tackling the issues of enormous scope project (teamwork,
correspondence, necessities elaboration, and confirmation).
On the other hand, in a study [52] analyze by reviewing
software practitioners, Binamungu et al. found the troubles
and risks of BDD. The main difficulties connected with BDD
are questioning and stabling to participate as it affects
individuals from various levels, absence of instruction,
FIGURE 7. BDD impact on software development process. format to compose BDD particulars, and support. However,
increase quality, and remaining studies focused on the enhanced requirement testability, enhanced documentation,
performance and the overall success of software development better domain knowledge capture, improved software
process. knowledge, and implementation are the benefits [17].
Another analysis dimension for this RQ was made to identify Duplication of test cases is also a big challenge [53]. End
the BDD impact that could relate to specific stages of software users may readily understand software specifications since
development. Figure 8 presents the distribution of the they are stated in domain-specific words and also produce
percentages of papers that are focused on different stages of better APIs since it promotes developing testable programs
software development. [14]. Moreover, the study [54] shows that BDD bridges the
Approximately half of the research studies examined the gap between quality analysts and product owners, as well as
between quality analysts and customers or development
significance of the requirement gathering process within the
teams, and also guides the development process [6], the
context of software development. About 6% of these studies
client stories endorsement, and the automation of testing
focused on design for the adoption of a designing strategy for
cases. However, the fundamental test is to persuade a client
integrating BDD in cooperation with Business stakeholders, to pay for the expense of learning BDD and inefficiently
while about 7% of these studies examined the use and composed situations due to the absence of involvement. In
implementation of user stories. The papers revolved around [55], Nascimento et al. reported the positive and negative
automated regression testing, with a notable percentage of impact of BDD on the agile development team by doing a
37%, which highlighted the importance of facilitating both case study. Some of the positive impacts are clear
manual and automated testing approaches and examined how implementation, reduction in rework, custom execution,
teams were involved in the process of choosing testing improvement in task division, and quality improvement.
procedures. However, lack of team commitment (to BDD), difficulty for
inexperienced developers, and difficulty in terms of UI are
some negative impacts on BDD implementation [56]. The
study [35] proposed a BEAST methodology in which
stakeholders should produce a bunch of behavior
specification that depicts the entire framework this
instrument is fundamentally utilized in the improvement of a
MAS for shortcoming conclusion in FTTH (Fiber to the
Home) organizations. The challenges and opportunities of
using BDD are mentioned in Table VI.
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License. For more information, see https://creativecommons.org/licenses/by-nc-nd/4
This article has been accepted for publication in IEEE Access. This is the author's version which has not been fully edited and
content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2023.3302356
TABLE VI. Challenges and opportunities of BDD between the development team and stakeholders. The sixth
Opportunities and challenges of BDD category, demonstrates how BDD helps create high-quality
products and successful project results. Duplication
Keeping an image of understanding the main Removal, the sixth category, highlights the importance of
features of the research.
BDD in reducing failures, increasing refactoring, and getting
Ensuring correct Execution
rid of redundant code. The seventh area, Communication,
Alignment of the members of the collaborators.
deals with bridging stakeholder communication gaps through
Decreasing the changes that happen unexpectedly.
Opportunities
Problems understanding in UI
Test case Duplication who wants to give a thought to something or define a goal
poorly written scenarios also defines a behavior first. From the analysis of the
Convincing the stakeholders and the customer to previous research, it was identified that in software
pay for the research for the domain of BDD. development generally opt for quick development, this only
template to write BDD specifications happens with self-directed and efficient team with good
adoption of new technologies collaboration [54], [55] and communication [39], [50]
BDD is incompatible with the waterfall approach among themselves as well as among the product owner and
business stakeholders. BDD helps to encourage the
VI. DISCUSSION developers to focus only on the requirements that are given
or the requested behavior of an application. It helps to avoid
This section discusses the main findings and future prospects the focus of developers on unnecessary features. It combines,
of BDD. It presents techniques to organize the software augments and refines the practice that is used in TDD and
development process through BDD and gives an idea of the acceptance testing. Teamwork shows the overall
steps involved while using BDD during the process of performance of what is being done. However, if all the team
making software. members are not on the same page, then it would be difficult
to deliver the required software to the customer. Behavior-
A. PROPOSED TAXONOMY
driven development also allows for automating certain
This study presents a taxonomy of BDD, which classifies its
processes. Regressing testing [36], [57], [46] can be carried
impact into eight major categories that were established after
out after the completion of the build by running the feature
a thorough review of earlier research papers in the area of
file of BDD that are formed with the usage of some
BDD. These categories have been recognized as important
appropriate tool such as cucumber tool. It is also useful for
areas where BDD has shown its impact and effectiveness
test case generation [2]. It shows that the developed build is
through an extensive review and synthesis of the existing
according to the required behavior. By using this quality
literature. The first category, Development, outlines the
product and project developed in a short time and cost [17].
advantages of implementing BDD, including cost savings,
Teamwork or collaboration is one of the important steps.
enhanced cooperation, and a development process that is
BDD encourages all the team members convinced or on the
more rapid with timely outcomes. The second category,
same page [12] that helps to increase the performance quality
Requirement, focuses on the advantages of BDD in terms of
and reduce the cost and delivery valuable work to the
enhancing clarity, readability, and verification of
customer on time. Test cases are automatically generated by
requirements. The importance of BDD in aiding regression
writing a BDD script using the cucumber tool. It is used to
testing, acceptance testing, and obtaining thorough test
write acceptance tests. Figure 9 shows the knowledge areas
coverage is highlighted in the third area, automation. The
fourth category, Collaboration, underlines the importance of
BDD in improving collaboration and good communication
10
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License. For more information, see https://creativecommons.org/licenses/by-nc-nd/4
This article has been accepted for publication in IEEE Access. This is the author's version which has not been fully edited and
content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2023.3302356
that are covered in the selected papers using BDD in an initial stage so that the gap that was mentioned in the
techniques. previous work of getting the whole team on the same page is
solved. After the selection of the test strategy, the behavior
B. PROPOSED FRAMEWORK
of the system is defined and written in Gherkin. After that in
The framework presented in this study provides a
the third stage (C), the development and testing take place.
comprehensive and structured approach for applying BDD in
The developers develop the system according to the
software development. It outlines the process stage by stage,
requirement or the defined behavior. After the development
offering a detailed understanding of how BDD can be
phase, the developed build moves into the testing phase, in
which manual or automated testing is conducted. In
automation, the results are evaluated by running the BDD
script file using automation tools that support BDD. The
script file consists of different possible scenarios, and each
scenario has several possible test cases. If the result is
positive, it means the developed build or the system behavior
is according to the requirement.
The proposed framework can be applied by involving the
specified components as identified through reviewing the
state-of-the-art BDD. Due to the involvement of business
stakeholders and assessment of behaviors of application
along with the development process, this technique could
help improve customer satisfaction. It could lead to clarify
requirements at early stages of software development and
could also help in improving the outcomes of a software
development projects as well as the quality of end-product.
C. WORK FLOW
A workflow is established to exhibit incorporation of BDD in
different stages of software development. It is an illustration
to guide how BDD can be applied in a software development
FIGURE 9. A taxonomy of BDD project and what activities are required to be performed while
linking the software development components presented
incorporated into the development lifecycle. Each stage of
through framework. It covers the complete process, from
the framework focuses on specific aspects, such as
gathering the initial requirements to development, testing, and
requirements clarification, collaboration, automation,
delivery. The workflow highlights the sequential steps and
Performance, duplication removal, and communication
interactions between stakeholders, including business
improvement.
analysts, developers, testers, and other project members. It
A framework for BDD has been designed to define the
gives a high-level overview of how BDD may be included into
process of applying these techniques in the software
the larger software development process while highlighting
development process and stages. In this framework, stage A
the techniques' collaborative and iterative aspects. The
is the requirement gathering and analysis; after that, user
workflow presents an in-depth understanding of the whole
stories are created by the business analyst. User stories are
implementation process, demonstrating the connections and
one of the important steps. Now all the team members,
relationships between various phases, while the framework
business stakeholders, and also the client have the option to
offers a detailed breakdown of the individual stages and
decide about the testing strategy in the initial stage as shown
activities involved in BDD. This workflow helps to bridge the
in figure 10. This framework is introduced by the analysis of
gap between the people making the software and the people
the previous research and work. In this framework, the gaps
who will use it by clearly defining how behavior-driven
or challenges identified from the previous research are
development is used throughout the process. This flow
somehow covered. The difficulty of getting a whole team on
consists of several steps in which BDD plays an important role
the same page is solved by adding a step of test requirement
in software development. This flow is created by the analysis
analysis or selection strategy. In the development process,
of the previous research. According to our analysis, a common
they are very helpful for the developers for development, the
issue that was faced when documenting the requirement is
testers for the creation of the test strategy, and the designers
describing what is needed by the user. For solving this issue
to think and design according to the user stories. The next
user stories [58] were introduced by Agile which tackles this
stage, B, is the selection of the test strategy, in which all the
problem. Gathering the requirement is one of the most
members of the development team, business stakeholders,
important parts of the software development process. Firstly,
and the client are involved and decide on the testing strategy
the product owner and the user have a conversation about what
11
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License. For more information, see https://creativecommons.org/licenses/by-nc-nd/4
This article has been accepted for publication in IEEE Access. This is the author's version which has not been fully edited and
content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2023.3302356
they need. After that quality assurance engineers, product make sure all the cases are covered or not. The scenarios are
owner, and the Developers elaborate on the requirement using very helpful for the designer to contrast the design and for the
User stories. User stories or use case is a brief explanation of developers to develop the system and act as automated tests.
the requirement or system behavior or what exactly the client The developer used that BDD file for development that helps
demand or user need. User stories are written in the form of to only focus on the user need and eliminate the waste means
less rework due to misinterpreted requirements and acceptance
As a criteria. The tester uses these scenarios as the basis for their
tests. Automation and regression testing are also done by using
this flow. Figure 11 shows the proper working flow of using
I want to
this technique because they can be used to identify whether all
the bases are covered or not. These scenarios are written in the
So that I can form of Given, When and Then [3]. After creating all the
scenarios and test cases these files are shared with the business
These user stories are helpful for the designer to design the stakeholders, developers, and designers. If business
system according to the scenarios and the given requirements stakeholders or the customer wants any changes or some
in which all single steps are covered. BDD can apply to user requirement is missing, then it tackles it in the early stages.
stories by adding scenarios that reflect the acceptance of From the previous research, it was determined that BDD plays
requirements. Development stage starts after the completion an important role for fasten up the development process and
of BDD scenarios that define the behavior of the system. The providing a quality product and customer satisfaction. Natural
main problems to use BDD are to convince a client for the language usage bridges the gap between the business
BDD approach or getting a development team on the same stakeholders and the developing team and allows customer
page. To address these issues, the testing strategy is required interaction in some development phases. BDD is upheld by
to be initially decided and the cost and benefits of the specific various toolkits including JBehave [7], Cucumber [8], etc. The
strategy are to be discussed with the client or the cucumber is one of the most famous and useful tools in BDD.
development team instead of deciding in the middle of the It is used to execute automated acceptance tests in BDD style.
development. After that, these requirements or user stories can It uses the language that is widely used by all the members and
be transformed into scenarios using BDD techniques. helps in connecting with the technical and non-technical
Scenarios are very significant because they can be used to
12
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License. For more information, see https://creativecommons.org/licenses/by-nc-nd/4
This article has been accepted for publication in IEEE Access. This is the author's version which has not been fully edited and
content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2023.3302356
teams. While using BDD with cucumber automation tests are the BDD concepts or where they BDD and TDD overlap but
being created and that can be understood by all the software for BDD, prior exposure to TDD ideas is essential. In paper
development team and members because they are written in [59] an experiment was carried out that showed TDD and
business domain language. By using the flow defined in Figure BDD techniques increased the external quality of the
10 or the analysis of the previous research small experiment delivered product. However, a decrease in productivity and
was run on a small project to check how to fasten the internal quality were noted in BDD which might be due to
development process or customer satisfaction by using this the additional steps involved in BDD. On the other hand,
technique with cucumber. It was an application that helps implementation of BDD requires money or time [42]. If it
people to donate online. As a result of using our proposed has an insufficient budget, then it’s hard to implement BDD.
approach, it was identified how fast the development process
It is a high-automation methodology, and some basic coding
occur and how fast the system can be delivered to the customer
skills are required for QA engineers. It is not an issue if you
with good quality and customer satisfaction in a low time and
have the knowledge, skills, and practice of automating tests
suitable cost.
(TDD and acceptance TDD). BDD may not be effective if it
is written in the wrong format or lack of knowledge and
D. PROBLEMS AND GAPS
experience about the terms and conditions of BDD, also not
Some of the notable problems that could be faced by the
share the vision with stakeholders in advance. Duplication in
software development teams while incorporating BDD in
suites can also be one of the most important challenges in
software development projects indicate the gaps in BDD
BDD [53]. It is very hard to find faults in large BDD suites
literature which could be examined for future research. This
also it is a very time taking process to continuously look for
has been evaluated through our observation and analysis of
customer’s satisfaction as it is considered as one of the main
the previous research. BDD is used for the implementation
goals of software development when using BDD. According
to our analysis, in BDD automation, if any of the test case
lines fail, then the whole process of running the script is
stopped. In BDD, maintenance does not come easily [14]. It
is appropriate only with the collaboration of developers,
business analysts, and testers. It is an overhead if only testers
can read BDD tests. In-depth knowledge of the scripting
language is not required in BDD. However, organizations
now require it every day. One of the most challenging phases
in BDD is to convince a customer of the new technique's
learning cost and to convince a team to switch to it. And the
gap that has been identified is to overcome the time-
consuming criteria of running BDD scenarios. Also, if BDD
test suites are running and any of the BDD script lines fail,
then the entire BDD suite would stop and show an error
without running further. This is one of the major gaps that
makes BDD slow because, for further evaluation, the script
has to start again after fixing that error. Also, BDD
management can also be challenging if they grow over a
handful of features and multiple members of team are
involved in it for writing and updating them over time.
V. LIMITATIONS
The limitations of this review are highlighted below:
FIGURE 11. Work Flow of using BDD in the process of developing software
The search string has been developed to retrieve the most
relevant research papers from multiple online repositories
of an application that describes the behavior in the form of
with an effort to reduce the risk of omitting important studies
stakeholder’s perspective. As this approach have a lot of
by adding a number of keywords. However, there may be
advantages side by side but also has some challenges. It is
alternate keywords or synonyms that might alter the result.
known that BDD involves a lot of details for specifications
Papers from various sources are carefully examined and
of requirements which sometimes are very hard to
selected by authors. The research portals through university's
comprehend. It is very difficult to get a whole team on the
subscription were used to search articles. However, it is
same page because some of the team members are unwilling
important to acknowledge that the limited access to certain
to replace their current working flow with BDD and also
sources may have mistakably led to the oversight of certain
require some sort of learning. Many organizations and
papers. This potential limitation could affect the
developers still do not understand the differences between
13
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License. For more information, see https://creativecommons.org/licenses/by-nc-nd/4
This article has been accepted for publication in IEEE Access. This is the author's version which has not been fully edited and
content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2023.3302356
comprehensiveness of the literature review and may have field of software engineering and development by providing
excluded related articles from sources that were not retrieved a comprehensive analysis of BDD, its potential applications,
due to the accessibility limitation of the university's and practical guidelines for its implementation. The 31
subscription. published studies were carefully selected for the review by
The shortlisting and classification process in this research following a systematic and multi-stage shortlisting process.
study was precisely conducted by the authors and This review of the selected articles was carried out by
subsequently reviewed by two independent reviewers. evaluating the aspects related to the investigating areas of
Consensus thorough discussions were done to settle any this work. After having an in-depth review of the previous
differences in the classification results. The high degree of researches, it has been concluded that BDD plays an
important role to cover the communication gap between the
agreement, as evidenced by the Kappa coefficient value of
business stakeholders and the development team members
0.92, demonstrates the reviewers' strong consensus. This
because it is written in a simple Gherkin Language that is
rigorous technique improves the shortlisting and
understandable by technical as well as non-technical
classification process's reliability and credibility,
personas. BDD plays an important role in speeding up the
contributing to the overall robustness of the research development process and gaining a large amount of customer
findings. satisfaction. Considering this, the framework and the
The framework of BDD (presented as Figure 10) is workflow for using BDD in the software development
established as one of the outcomes of reviewing the state-of- process is proposed. Furthermore, a taxonomy of BDD has
the-art BDD; however, the its validity is not the part of this been developed to give direction for future work. Although,
study. It can be considered as one of the future research BDD has many significant future implications yet its use also
dimensions of the applications of BDD in software exhibits many challenges. This study will be useful for the
development. practitioners and researchers of the software engineering
field in terms of applying BDD and identifying its
VI. CONCLUSION applicability during the process of software development.
This articles presents a systematic literature review which
provides the contribution to the body of knowledge in the
C1 C2 C3 C4 C5 C6
14
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License. For more information, see https://creativecommons.org/licenses/by-nc-nd/4
This article has been accepted for publication in IEEE Access. This is the author's version which has not been fully edited and
content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2023.3302356
15
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License. For more information, see https://creativecommons.org/licenses/by-nc-nd/4
This article has been accepted for publication in IEEE Access. This is the author's version which has not been fully edited and
content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2023.3302356
[11] L. Vijayasarathy and D. Turk, “Agile software development: [28] S. Ouhbi, A. Idri, J. L. Fernández-Alemán, and A. Toval,
A survey of early adopters,” J. Inf. Technol. Manag., vol. 19, “Requirements engineering education: a systematic mapping
no. 2, pp. 1–8, 2008. study,” Requir. Eng., vol. 20, pp. 119–138, 2015.
[12] M. Senapathi and A. Srinivasan, “An empirical investigation [29] P. Lopes de Souza, W. Lopes de Souza, and L. Ferreira Pires,
of the factors affecting agile usage,” in Proceedings of the “ScrumOntoBDD: Agile software development based on
18th international conference on evaluation and assessment scrum, ontologies and behaviour-driven development,” J.
in software engineering, 2014, pp. 1–10. Braz. Comput. Soc., vol. 27, no. 1, p. 10, 2021.
[13] H. Alaidaros, M. Omar, and R. Romli, “The key factors of [30] K. Schwaber, Agile project management with Scrum.
evaluating Agile approaches: A systematic literature Microsoft press, 2004.
review,” Int. J. Supply Chain Manag. IJSCM, vol. 8, no. 2, [31] M. S. Murugaiyan and S. Balaji, “Succeeding with agile
pp. 1–11, 2019. software development,” in IEEE-International Conference
[14] L. P. Binamungu, S. M. Embury, and N. Konstantinou, On Advances In Engineering, Science And Management
“Maintaining behaviour driven development specifications: (ICAESM-2012), IEEE, 2012, pp. 162–165.
Challenges and opportunities,” in 2018 IEEE 25th [32] M. Soeken, R. Wille, and R. Drechsler, “Assisted behavior
International Conference on Software Analysis, Evolution driven development using natural language processing,” in
and Reengineering (SANER), IEEE, 2018, pp. 175–184. Objects, Models, Components, Patterns: 50th International
[15] M. Rahman and J. Gao, “A reusable automated acceptance Conference, TOOLS 2012, Prague, Czech Republic, May
testing architecture for microservices in behavior-driven 29-31, 2012. Proceedings 50, Springer, 2012, pp. 269–287.
development,” in 2015 IEEE Symposium on service-oriented [33] E. Evans, Domain-driven design: tackling complexity in the
system engineering, IEEE, 2015, pp. 321–325. heart of software. Addison-Wesley Professional, 2004.
[16] P. Rai, “Extending automated testing to high-level software [34] F. J. Lopez-Pellicer, M. Á. Latre, J. Nogueras-Iso, F. J.
requirements: A study on the feasibility of automated Zarazaga-Soria, and J. Barrera, “Behaviour-driven
acceptance-testing.” 2016. development applied to the conformance testing of INSPIRE
[17] T. Couto, S. Marczak, and F. Gomes, “On the Understanding Web services,” Connect. Digit. Eur. Locat. Place, pp. 325–
of How to Measure the Benefits of Behavior-Driven 339, 2014.
Development Adoption: Preliminary Literature Results from [35] Á. Carrera, C. A. Iglesias, and M. Garijo, “Beast
a Grey Literature Study,” in 19th Brazilian Symposium on methodology: An agile testing methodology for multi-agent
Software Quality, 2020, pp. 1–7. systems based on behaviour driven development,” Inf. Syst.
[18] H. M. Abushama, H. A. Alassam, and F. A. Elhaj, “The Front., vol. 16, pp. 169–182, 2014.
effect of test-driven development and behavior-driven [36] A. Sheshasaayee and P. Banumathi, “Impacts of behavioral
development on project success factors: A systematic driven development in the improvement of quality software
literature review based study,” in 2020 International deliverables,” in 2018 3rd International Conference on
Conference on Computer, Control, Electrical, and Inventive Computation Technologies (ICICT), IEEE, 2018,
Electronics Engineering (ICCCEEE), IEEE, 2021, pp. 1–9. pp. 228–230.
[19] P. L. de Souza, A. F. do Prado, W. L. de Souza, S. M. dos S. [37] I. Lazăr, S. Motogna, and B. Pârv, “Behaviour-driven
F. Pereira, and L. F. Pires, “Combining Behaviour-Driven development of foundational UML components,” Electron.
Development with Scrum for Software Development in the Notes Theor. Comput. Sci., vol. 264, no. 1, pp. 91–105, 2010.
Education Domain.,” in ICEIS (2), 2017, pp. 449–458. [38] I. B. K. Manuaba, “Combination of test-driven development
[20] S. Keele, “Guidelines for performing systematic literature and behavior-driven development for improving backend
reviews in software engineering.” Technical report, ver. 2.3 testing performance,” Procedia Comput. Sci., vol. 157, pp.
ebse technical report. ebse, 2007. 79–86, 2019.
[21] U. Omer, R. Tehseen, M. S. Farooq, and A. Abid, “Learning [39] A. Scandaroli, R. Leite, A. H. Kiosia, and S. A. Coelho,
analytics in programming courses: Review and “Behavior-driven development as an approach to improve
implications,” Educ. Inf. Technol., pp. 1–48, 2023. software quality and communication across remote business
[22] D. Rosenstreich and B. Wooliscroft, “Measuring the impact stakeholders, developers and QA: two case studies,” in 2019
of accounting journals using Google Scholar and the g- ACM/IEEE 14th International Conference on Global
index,” Br. Account. Rev., vol. 41, no. 4, pp. 227–239, 2009. Software Engineering (ICGSE), IEEE, 2019, pp. 105–110.
[23] K. Adnan, R. Akbar, and K. S. Wang, “Development of [40] J. Smart and J. Molak, BDD in Action. Simon and Schuster,
usability enhancement model for unstructured big data using 2023.
SLR,” IEEE Access, vol. 9, pp. 87391–87409, 2021. [41] B.-Y. Wang, Y.-C. Yen, and Y. C. Cheng, “Specifying
[24] T. Dybå and T. Dingsøyr, “Empirical studies of agile Internet of Things Behaviors in Behavior-Driven
software development: A systematic review,” Inf. Softw. Development: Concurrency Enhancement and Tool
Technol., vol. 50, no. 9–10, pp. 833–859, 2008. Support,” Appl. Sci., vol. 13, no. 2, p. 787, 2023.
[25] K. Petersen, R. Feldt, S. Mujtaba, and M. Mattsson, [42] L. A. Cisneros, C. I. Reis, M. Maximiano, and J. A. Quiña,
“Systematic mapping studies in software engineering,” in “An experimental evaluation of ITL, TDD and BDD,” in
12th International Conference on Evaluation and ICSEA 2018, The Thirteenth International Conference on
Assessment in Software Engineering (EASE) 12, 2008, pp. Software Engineering Advances, ThinkMind, 2018, pp. 20–
1–10. 24.
[26] M. S. Farooq, A. Hamid, A. Alvi, and U. Omer, “A review [43] R. Green, T. Mazzuchi, and S. Sarkani, “Communication
on Blended Learning Models, Curricula, and Gamification and quality in distributed agile development: An empirical
in Project Management Education,” IEEE Access, 2022. case study,” Int. J. Comput. Inf. Eng., vol. 4, no. 1, pp. 38–
[27] U. Omer, M. S. Farooq, and A. Abid, “Introductory 44, 2010.
programming course: review and future implications,” PeerJ [44] G. Munkácsi, “Applying Behaviour Driven Development to
Comput. Sci., vol. 7, p. e647, 2021. enhance agile software development processes,” 2018.
16
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License. For more information, see https://creativecommons.org/licenses/by-nc-nd/4
This article has been accepted for publication in IEEE Access. This is the author's version which has not been fully edited and
content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2023.3302356
[45] M. Tuteja and G. Dubey, “A research study on importance MUHAMMAD SHOAIB FAROOQ is
of testing and quality assurance in software development life working as Professor of Artificial Intelligence at
cycle (SDLC) models,” Int. J. Soft Comput. Eng. IJSCE, vol.
University of Management and Technology,
2, no. 3, pp. 251–257, 2012.
[46] J. Xu, Q. Du, and X. Li, “A Requirement-based Regression Lahore. He was the affiliate member of George
Test Selection Technique in Behavior-Driven Mason University, USA. He possesses more
Development,” in 2021 IEEE 45th Annual Computers,
than 28 years of teaching experience in the field
Software, and Applications Conference (COMPSAC), IEEE,
2021, pp. 1303–1308. of Computer Science. He has published many
[47] R. Borg and M. Kropp, “Automated acceptance test peer-reviewed international journal and conference papers. His research
refactoring,” in Proceedings of the 4th Workshop on
interests include Theory of Programming Languages, Big Data, IOT,
Refactoring Tools, 2011, pp. 15–21.
[48] A. Egbreghts, “A literature review of behavior driven Internet of Vehicles, Machine Learning, Blockchain and Education.
development using grounded theory,” in 27th Twente
Student Conference on IT, 2017.
UZMA OMER received her PhD degree in
[49] M. Irshad, J. Börstler, and K. Petersen, “Supporting
refactoring of BDD specifications—An empirical study,” Computer Science from University of
Inf. Softw. Technol., vol. 141, p. 106717, 2022. Management and Technology, Lahore, Pakistan.
[50] J. F. Smart, BDD in Action: Behavior-driven development
She is working as an Assistant professor in the
for the whole software lifecycle, 1st edition. Shelter Island,
NY: Manning Publications, 2014. Department of Information sciences at University
[51] M. Irshad, R. Britto, and K. Petersen, “Adapting Behavior of Education, Lahore, Pakistan. Her research areas
Driven Development (BDD) for large-scale software
include Computer Science Education, Machine learning, IoT, E-learning
systems,” J. Syst. Softw., vol. 177, p. 110944, 2021.
[52] L. P. Binamungu, S. M. Embury, and N. Konstantinou, Systems and Educational Technology.
“Detecting duplicate examples in behaviour driven
development specifications,” in 2018 IEEE Workshop on
Validation, Analysis and Evolution of Software Tests (VST),
IEEE, 2018, pp. 6–10. AMNA RAMZAN received the B.S. degree in
[53] I. Romero-Pena, G. Padilla-Zárate, and K. Cortés-Verdín, computing science from the University of
“Identification of Test Cases Duplication: Systematic
Management and Technology, in 2021, and the
Literature Review,” in 2021 9th International Conference in
Software Engineering Research and Innovation M.S. degree in information technology from
(CONISOFT), IEEE, 2021, pp. 104–111. University of Management and Technology, in
[54] L. Pereira, H. Sharp, C. de Souza, G. Oliveira, S. Marczak,
2023. Her research interests focus on information
and R. Bastos, “Behavior-driven development benefits and
challenges: reports from an industrial study,” in Proceedings security, and cryptography.
of the 19th International Conference on Agile Software
Development: Companion, 2018, pp. 1–4.
MANSOOR AHMAD RASHEED was born in
[55] N. Nascimento, A. R. Santos, A. Sales, and R. Chanin,
“Behavior-driven development: A case study on its impacts Lahore, Pakistan. He received the B.S. and M.S.
on agile development teams,” in Proceedings of the degrees in software engineering from the
IEEE/ACM 42nd International Conference on Software
University of Management and Technology,
Engineering Workshops, 2020, pp. 109–116.
[56] N. Nascimento, A. R. Santos, A. Sales, and R. Chanin, Pakistan. His research interests include
“Behavior-driven development: an expert panel to evaluate Blockchain, Machine Learning, Deep Learning,
benefits and challenges,” in Proceedings of the XXXIV
Requirement Engineering, Game Design and Development, Software
Brazilian Symposium on Software Engineering, 2020, pp.
41–46. Engineering.
[57] R. F. P. Barbosa, “Feature-Trace: an approach to generate
operational profile and to support regression testing from
ZABIHULLAH ATAL is working as Assistant
BDD features,” 2020.
[58] G. Lucassen, F. Dalpiaz, J. M. E. van der Werf, and S. Professor at Computer Science department in
Brinkkemper, “Improving agile requirements: the quality Kardan University, Afghanistan. He has Master in
user story framework and tool,” Requir. Eng., vol. 21, pp.
Information Technology from VU University of
383–403, 2016.
[59] A. S. Dookhun and L. Nagowah, “Assessing the Pakistan. Zabihullah Atal research interests are in
effectiveness of test-driven development and behavior- the area of Computer Networks & Information
driven development in an industry setting,” in 2019
Security, IoT, Machine, and Neural networks. He
International Conference on Computational Intelligence
and Knowledge Economy (ICCIKE), IEEE, 2019, pp. 365– also interested in Smart Grid Applications and Technologies, cloud
370. computing, distributed systems and blockchain.
17
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License. For more information, see https://creativecommons.org/licenses/by-nc-nd/4