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
Realizing the systematic reuse of automated acceptance tests in practice
Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering. Ericsson AB. (SERL)
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 [en]
Reuse, Software Engineering, Development, Testing
National Category
Software Engineering Computer Sciences
Research subject
Software Engineering
Identifiers
URN: urn:nbn:se:bth-21999ISBN: 978-91-7295-425-0 (print)OAI: oai:DiVA.org:bth-21999DiVA, id: diva2:1583530
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
List of papers
1. Adapting Behavior Driven Development (BDD) for large-scale software systems
Open this publication in new window or tab >>Adapting Behavior Driven Development (BDD) for large-scale software systems
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
Keywords
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:nbn:se:bth-21320 (URN)10.1016/j.jss.2021.110944 (DOI)000641355800005 ()2-s2.0-85103117256 (Scopus ID)
Note

open access

Available from: 2021-04-09 Created: 2021-04-09 Last updated: 2023-06-07Bibliographically approved
2. A systematic literature review of software requirements reuse approaches
Open this publication in new window or tab >>A systematic literature review of software requirements reuse approaches
2018 (English)In: Information and Software Technology, ISSN 0950-5849, E-ISSN 1873-6025, Vol. 93, no Jan, p. 223-245Article, review/survey (Refereed) Published
Abstract [en]

Context: Early software reuse is considered as the most beneficial form of software reuse. Hence, previous research has focused on supporting the reuse of software requirements. Objective: This study aims to identify and investigate the current state of the art with respect to (a) what requirement reuse approaches have been proposed, (b) the methods used to evaluate the approaches, (c) the characteristics of the approaches, and (d) the quality of empirical studies on requirements reuse with respect to rigor and relevance. Method: We conducted a systematic review and a combination of snowball sampling and database search have been used to identify the studies. The rigor and relevance scoring rubric has been used to assess the quality of the empirical studies. Multiple researchers have been involved in each step to increase the reliability of the study. Results: Sixty-nine studies were identified that describe requirements reuse approaches. The majority of the approaches used structuring and matching of requirements as a method to support requirements reuse and text-based artefacts were commonly used as an input to these approaches. Further evaluation of the studies revealed that the majority of the approaches are not validated in the industry. The subset of empirical studies (22 in total) was analyzed for rigor and relevance and two studies achieved the maximum score for rigor and relevance based on the rubric. It was found that mostly text-based requirements reuse approaches were validated in the industry. Conclusion: From the review, it was found that a number of approaches already exist in literature, but many approaches are not validated in industry. The evaluation of rigor and relevance of empirical studies show that these do not contain details of context, validity threats, and the industrial settings, thus highlighting the need for the industrial evaluation of the approaches. © 2017 Elsevier B.V.

Place, publisher, year, edition, pages
Elsevier, 2018
Keywords
Artefact reuse, Relevance, Requirements reuse, Reusability, Rigor, Software requirements, Quality control, Requirements engineering, Search engines, Computer software reusability
National Category
Software Engineering
Identifiers
urn:nbn:se:bth-15356 (URN)10.1016/j.infsof.2017.09.009 (DOI)000414878200014 ()2-s2.0-85030849171 (Scopus ID)
Funder
Knowledge Foundation
Note

project "Professional Licentiate of Engineering Research School"

Available from: 2017-10-20 Created: 2017-10-20 Last updated: 2021-08-24Bibliographically approved
3. Capturing cost avoidance through reuse: Systematic literature review and industrial evaluation
Open this publication in new window or tab >>Capturing cost avoidance through reuse: Systematic literature review and industrial evaluation
2016 (English)In: ACM International Conference Proceeding Series, ACM Press, 2016, Vol. 01-03-June-2016Conference paper, Published paper (Refereed)
Abstract [en]

Background: Cost avoidance through reuse shows the benefits gained by the software organisations when reusing an artefact. Cost avoidance captures benefits that are not captured by cost savings e.g. spending that would have increased in the absence of the cost avoidance activity. This type of benefit can be combined with quality aspects of the product e.g. costs avoided because of defect prevention. Cost avoidance is a key driver for software reuse. Objectives: The main objectives of this study are: (1) To assess the status of capturing cost avoidance through reuse in the academia; (2) Based on the first objective, propose improvements in capturing of reuse cost avoidance, integrate these into an instrument, and evaluate the instrument in the software industry. Method: The study starts with a systematic literature review (SLR) on capturing of cost avoidance through reuse. Later, a solution is proposed and evaluated in the industry to address the shortcomings identified during the systematic literature review. Results: The results of a systematic literature review describe three previous studies on reuse cost avoidance and show that no solution, to capture reuse cost avoidance, was validated in industry. Afterwards, an instrument and a data collection form are proposed that can be used to capture the cost avoided by reusing any type of reuse artefact. The instrument and data collection form (describing guidelines) were demonstrated to a focus group, as part of static evaluation. Based on the feedback, the instrument was updated and evaluated in industry at 6 development sites, in 3 different countries, covering 24 projects in total. Conclusion: The proposed solution performed well in industrial evaluation. With this solution, practitioners were able to do calculations for reuse costs avoidance and use the results as decision support for identifying potential artefacts to reuse.

Place, publisher, year, edition, pages
ACM Press, 2016
Keywords
Costs; Data acquisition; Decision support systems; Software engineering, Cost avoidances; Cost saving; Decision supports; Defect prevention; Industrial evaluations; Software organisations; Systematic literature review; Systematic literature review (SLR), Computer software reusability
National Category
Software Engineering
Identifiers
urn:nbn:se:bth-13116 (URN)10.1145/2915970.2915989 (DOI)000540645400034 ()2-s2.0-84978540065 (Scopus ID)9781450336918 (ISBN)
Conference
20th International Conference on Evaluation and Assessment in Software Engineering, EASE 2016; Limerick
Available from: 2016-10-04 Created: 2016-10-03 Last updated: 2021-08-10Bibliographically approved
4. A systematic reuse process for automated acceptance tests: Construction and elementary evaluation
Open this publication in new window or tab >>A systematic reuse process for automated acceptance tests: Construction and elementary evaluation
2021 (English)In: e-Informatica Software Engineering Journal, ISSN 1897-7979, E-ISSN 2084-4840, Vol. 15, no 1, p. 133-162Article in journal (Refereed) Published
Abstract [en]

Context: Automated acceptance testing validates a product's functionality from the customer's perspective. Text-based automated acceptance tests (AATs) have gained popularity because they link requirements and testing.

Objective: To propose and evaluate a cost-effective systematic reuse process for automated acceptance tests.

Method: A systematic approach, method engineering, is used to construct a systematic reuse process for automated acceptance tests. The techniques to support searching, assessing, adapting the reusable tests are proposed and evaluated. The constructed process is evaluated using (i) qualitative feedback from software practitioners and (ii) a demonstration of the process in an industry setting. The process was evaluated for three constraints: performance expectancy, effort expectancy, and facilitating conditions.

Results: The process consists of eleven activities that support development for reuse, development with reuse, and assessment of the costs and benefits of reuse. During the evaluation, practitioners found the process a useful method to support reuse. In the industrial demonstration, it was noted that the activities in the solution helped in developing an automated acceptance test with reuse faster than creating a test from scratch i.e., searching, assessment, and adaptation parts.

Conclusion: The process is found to be useful and relevant to the industry during the preliminary investigation. 

Place, publisher, year, edition, pages
Wroclaw University of Technology, 2021
National Category
Software Engineering
Identifiers
urn:nbn:se:bth-21989 (URN)10.37190/e-Inf210107 (DOI)000711485700001 ()
Note

open access

Available from: 2021-07-11 Created: 2021-07-11 Last updated: 2023-06-07Bibliographically approved
5. Supporting Refactoring of BDD Specifications - An Empirical Study
Open this publication in new window or tab >>Supporting Refactoring of BDD Specifications - An Empirical Study
2022 (English)In: Information and Software Technology, ISSN 0950-5849, E-ISSN 1873-6025, Vol. 141, article id 106717Article in journal (Refereed) Published
Abstract [en]

Context: Behavior-driven development (BDD) is a variant of test-driven development where specifications are described in a structured domain-specific natural language. Although refactoring is a crucial activity of BDD, little research is available on the topic.

Objective: To support practitioners in refactoring BDD specifications by (1) proposing semi-automated approaches to identify refactoring candidates; (2) defining refactoring techniques for BDD specifications; and (3) evaluating the proposed identification approaches in an industry context.

Method: Using Action Research, we have developed an approach for identifying refactoring candidates in BDD specifications based on two measures of similarity and applied the approach in two projects of a large software organization. The accuracy of the measures for identifying refactoring candidates was then evaluated against an approach based on machine learning and a manual approach based on practitioner perception.

Results: We proposed two measures of similarity to support the identification of refactoring candidates in a BDD specification base; (1) normalized compression similarity (NCS) and (2) similarity ratio (SR). A semi-automated approach based on NCS and SR was developed and applied to two industrial cases to identify refactoring candidates. Our results show that our approach can identify candidates for refactoring 6o times faster than a manual approach. Our results furthermore showed that our measures accurately identified refactoring candidates compared with a manual identification by software practitioners and outperformed an ML-based text classification approach. We also described four types of refactoring techniques applicable to BDD specifications; merging candidates, restructuring candidates, deleting duplicates, and renaming specification titles. 

Conclusion: Our results show that NCS and SR can help practitioners in accurately identifying BDD specifications that are suitable candidates for refactoring, which also decreases the time for identifying refactoring candidates.

Place, publisher, year, edition, pages
Elsevier, 2022
Keywords
BDD, Behavior-driven development, Normalized Compression Distance (NCD), Normalized Compression Similarity (NCS), Refactoring, Reuse, Similarity ratio (SR), Specifications, Testing
National Category
Software Engineering
Identifiers
urn:nbn:se:bth-21988 (URN)10.1016/j.infsof.2021.106717 (DOI)000701988700002 ()2-s2.0-85113689195 (Scopus ID)
Funder
ELLIIT - The Linköping‐Lund Initiative on IT and Mobile Communications
Note

open access

Available from: 2021-07-11 Created: 2021-07-11 Last updated: 2023-06-07Bibliographically approved

Open Access in DiVA

fulltext(11853 kB)375 downloads
File information
File name FULLTEXT03.pdfFile size 11853 kBChecksum SHA-512
1f8b934a19f10c929f1cbb904fb5c9b60b80bdc562722173db359533662fb253ee64e01f493002aa77f9a7dd17df7c12ad1f902b3671597677af5dc01f738cd2
Type fulltextMimetype application/pdf

Search in DiVA

By author/editor
Irshad, Mohsin
By organisation
Department of Software Engineering
Software EngineeringComputer Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 408 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

isbn
urn-nbn

Altmetric score

isbn
urn-nbn
Total: 3260 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