Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Adapting Behavior Driven Development (BDD) for large-scale software systems
Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering. Ericsson AB, Sweden.
Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.ORCID iD: 0000-0002-7220-9570
Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.ORCID iD: 0000-0002-1532-8223
2021 (English)In: Journal of Systems and Software, ISSN 0164-1212, E-ISSN 1873-1228, Vol. 177, article id 110944Article in journal (Refereed) Published
Abstract [en]

Context: Large-scale software projects require interaction between many stakeholders. Behavior-driven development (BDD) facilitates collaboration between stakeholders, and an adapted BDD process can help improve cooperation in a large-scale project. Objective: The objective of this study is to propose and empirically evaluate a BDD based process adapted for large-scale projects. Method: A technology transfer model was used to propose a BDD based process for large-scale projects. We conducted six workshop sessions to understand the challenges and benefits of BDD. Later, an industrial evaluation was performed for the process with the help of practitioners. Results: From our investigations, understanding of a business aspect of requirements, their improved quality, a guide to system-level use-cases, reuse of artifacts, and help for test organization are found as benefits of BDD. Practitioners identified the following challenges: specification and ownership of behaviors, adoption of new tools, the software projects’ scale, and versioning of behaviors. We proposed a process to address these challenges and evaluated the process with the help of practitioners. Conclusion: The evaluation proved that BDD could be adapted and used to facilitate interaction in large-scale software projects in the software industry. The feedback from the practitioners helped in improving the proposed process. © 2021 The Author(s)

Place, publisher, year, edition, pages
Elsevier, 2021. Vol. 177, article id 110944
Keywords [en]
BDD, Behavior-driven, Large-scale, Software processes, System of systems, Boolean functions, Software engineering, Technology transfer, Business aspects, Industrial evaluations, Large-scale projects, Large-scale software projects, Large-scale software systems, Software industry, Software project, System levels, Large scale systems
National Category
Software Engineering
Identifiers
URN: urn:nbn:se:bth-21320DOI: 10.1016/j.jss.2021.110944ISI: 000641355800005Scopus ID: 2-s2.0-85103117256OAI: oai:DiVA.org:bth-21320DiVA, id: diva2:1543163
Note

open access

Available from: 2021-04-09 Created: 2021-04-09 Last updated: 2023-06-07Bibliographically approved
In thesis
1. Realizing the systematic reuse of automated acceptance tests in practice
Open this publication in new window or tab >>Realizing the systematic reuse of automated acceptance tests in practice
2021 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

Context: Automated acceptance testing has become a relevant practice of agile software development (e.g., Extreme Programming). Automated acceptance tests (AATs) are closely tied to requirements and provide a mechanism for continuous validation of requirements as system-level tests. Studies have shown that these tests are costly to develop, maintain, and reuse.

Objectives: This thesis examines and supports the systematic reuse of automated acceptance tests by providing approaches to search, identity, adapt reusable test cases while considering the reuse costs. Additionally, the maintainability and usage of automated acceptance tests in largescale software projects are studied.

Method: We used various research methods to investigate development, reuse, and maintaining the automated acceptance tests. Workshops and interviews of practitioners were used to identify the benefits and challenges of automated acceptance tests. Next, method engineering was used to construct a systematic reuse process for automated acceptance tests. Qualitative feedback collected using a survey, and industrial demonstration examined the reuse process’s performance expectancy, effort expectancy, and necessary facilitating conditions. Two systematic literature reviews are used to identify techniques to adapt tests for future reuse opportunities and calculate the reuse costs of automated acceptance tests. Later, we developed and evaluated an approach for refactoring behavior-driven development-based automated acceptance tests using action research.

Results: A cost-aware systematic reuse process was constructed to support the reuse of automated acceptance tests containing eleven activities. For each activity, guidelines on expected input, expected output, the actors performing the activity, and techniques (automated using scripts) are suggested and evaluated. The techniques involve approaches to support development for reuse and methods to calculate the costs of reusing automated acceptance tests. The industrial evaluation of the reuse process and the techniques showed its usefulness and relevance for the industry. Furthermore, seven challenges (i.e., the scale of the software projects, ownership, lack of competence, cost benefits, specification of behaviors in large-scale projects, difficulty writing system-level test-cases, and versioning control of behaviors) and five benefits (i.e., understanding of a business aspect of requirements, improved quality of requirements, a guide to system-level use-cases, reuse of artifacts in large-scale projects, and help for test organization.) of using automated acceptance tests in large-scale projects are identified with software practitioners’ help. Later, we proposed a semiautomated four-step approach for pre-processing, measuring, ranking, and identifying refactoring candidates. The approach and the two proposed measures were successfully evaluated using two industrial projects. It was noted that similarity measures could support the maintenance of the specification base using refactoring.

Conclusions: The studies show that automated acceptance tests are reusable and can be refactored using our proposed approach. The evaluation shows that the results apply to the software industry in the evaluated context. However, further work is required to evaluate the reuse process in different contexts.

Place, publisher, year, edition, pages
Karlskrona: Blekinge Tekniska Högskola, 2021. p. 306
Series
Blekinge Institute of Technology Doctoral Dissertation Series, ISSN 1653-2090 ; 5
Keywords
Reuse, Software Engineering, Development, Testing
National Category
Software Engineering Computer Sciences
Research subject
Software Engineering
Identifiers
urn:nbn:se:bth-21999 (URN)978-91-7295-425-0 (ISBN)
Public defence
2021-09-23, J1630, BTH, Campus Gräsvik, Karlskrona, 13:00 (English)
Opponent
Supervisors
Available from: 2021-08-09 Created: 2021-08-08 Last updated: 2021-08-23Bibliographically approved

Open Access in DiVA

fulltext(1303 kB)493 downloads
File information
File name FULLTEXT01.pdfFile size 1303 kBChecksum SHA-512
8a7cd9478ebba2dc3ba5a7e20005b2f752d55a1c16630b9d1e92d92a119607b226009b77f362e5cbf118f0fa0e15f542ffe7edc5297923ddbe0c73fbde0f7d06
Type fulltextMimetype application/pdf

Other links

Publisher's full textScopus

Authority records

Irshad, MohsinBritto, RicardoPetersen, Kai

Search in DiVA

By author/editor
Irshad, MohsinBritto, RicardoPetersen, Kai
By organisation
Department of Software Engineering
In the same journal
Journal of Systems and Software
Software Engineering

Search outside of DiVA

GoogleGoogle Scholar
Total: 494 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

doi
urn-nbn

Altmetric score

doi
urn-nbn
Total: 562 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf