liu.seSearch for publications in DiVA
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • oxford
  • 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
Contributions to Improving Feedback and Trust in Automated Testing and Continuous Integration and Delivery
Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, Faculty of Science & Engineering.ORCID iD: 0000-0003-3049-1261
2022 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

An integrated release version (also known as a release candidate in software engineering) is produced by merging, building, and testing code on a regular basis as part of the Continuous Integration and Continuous Delivery (CI/CD) practices. Several benefits, including improved software quality and shorter release cycles, have been claimed for CI/CD. On the other hand, recent research has uncovered a plethora of problems and bad practices related to CI/CD adoption, necessitating some optimization. Some of the problems addressed in this work include the ability to respond to practitioners’ questions and obtain quick and trustworthy feedback in CI/CD. To be more specific, our effort concentrated on: 1) identifying the information needs of software practitioners engaged in CI/CD; 2) adopting test optimization approaches to obtain faster feedback that are realistic for use in CI/CD environments without introducing excessive technical requirements; 3) identifying perceived causes and automated root cause analysis of test flakiness, thereby providing developers with guidance on how to resolve test flakiness; and 4) identifying challenges in addressing information needs, providing faster and more trustworthy feedback. 

The findings of the research reported in this thesis are based on data from three single-case studies and three multiple-case studies. The research uses quantitative and qualitative data collected via interviews, site visits, and workshops. To perform our analyses, we used data from firms producing embedded software as well as open-source repositories. The following are major research and practical contributions. 

  • Information Needs: The initial contribution to research is a list of information needs in CI/CD. This list contains 27 frequently asked questions on continuous integration and continuous delivery by software practitioners. The identified information needs have been classified as related to testing, code & commit, confidence, bug, and artifacts. We investigated how companies deal with information needs, what tools they use to deal with them, and who is interested in them. We concluded that there is a discrepancy between the identified needs and the techniques employed to meet them. Since some information needs cannot be met by current tools, manual inspections are required, which adds time to the process. Information about code & commit, confidence level, and testing is the most frequently sought for and most important information. 
  • Evaluation of Diversity Based Techniques/Tool: The contribution is to conduct a detailed examination of diversity-based techniques using industry test cases to determine if there is a difference between diversity functions in selecting integrationlevel automated test. Additionally, how diversity-based testing compares to other optimization techniques used in industry in terms of fault detection rates, feature coverage, and execution time. This enables us to observe how coverage changes when we run fewer test cases. We concluded that some of the techniques can eliminate up to 85% of test cases (provided by the case company) while still covering all distinct features/requirements. The techniques are developed and made available as an open-source tool for further research and application. 
  • Test Flakiness Detection, Prediction & Automated Root Cause Analysis: We identified 19 factors that professionals perceive affect test flakiness. These perceived factors are divided into four categories: test code, system under test, CI/test infrastructure, and organizational. We concluded that some of the perceived factors of test flakiness in closed-source development are directly related to non-determinism, whereas other perceived factors concern different aspects e.g., lack of good properties of a test case (i.e., small, simple and robust), deviations from the established  processes, etc. To see if the developers’ perceptions were in line with what they had labelled as flaky or not, we examined the test artifacts that were readily available. We verified that two of the identified perceived factors (i.e., test case size and simplicity) are indeed indicative of test flakiness. Furthermore, we proposed a light weight technique named trace-back coverage to detect flaky tests. Trace-back coverage was combined with other factors such as test smells indicating test flakiness, flakiness frequency and test case size to investigate the effect on revealing test flakiness. When all factors are taken into consideration, the precision of flaky test detection is increased from 57% (using single factor) to 86% (combination of different factors). 
Place, publisher, year, edition, pages
Linköping: Linköping University Electronic Press, 2022. , p. 219
Series
Linköping Studies in Science and Technology. Dissertations, ISSN 0345-7524 ; 2247
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:liu:diva-187765DOI: 10.3384/9789179294236ISBN: 9789179294229 (print)ISBN: 9789179294236 (print)OAI: oai:DiVA.org:liu-187765DiVA, id: diva2:1689526
Public defence
2022-10-06, Ada Lovelace, B-huset, Campus Valla, Linköping, 13:15
Opponent
Supervisors
Note

Funding:Linköping University and Software Center, project 18 (Data Visualization in CI/CD) and project 30 (Aspects of Automated Testing).

Available from: 2022-08-23 Created: 2022-08-23 Last updated: 2022-09-22Bibliographically approved
List of papers
1. Data visualisation in continuous integration and delivery: Information needs, challenges, and recommendations
Open this publication in new window or tab >>Data visualisation in continuous integration and delivery: Information needs, challenges, and recommendations
2022 (English)In: IET Software, ISSN 1751-8806, E-ISSN 1751-8814, Vol. 16, no 3, p. 331-349Article in journal (Refereed) Published
Abstract [en]

Several operations, ranging from regular code updates to compiling, building, testing, and distribution to customers, are consolidated in continuous integration and delivery. Professionals seek additional information to complete the mission at hand during these tasks. Developers who devote a large amount of time and effort to finding such information may become distracted from their work. We will better understand the processes, procedures, and resources used to deliver a quality product on time by defining the types of information that software professionals seek. A deeper understanding of software practitioners information needs has many advantages, including remaining competitive, growing knowledge of issues that can stymie a timely update, and creating a visualisation tool to assist practitioners in addressing their information needs. This is an extension of a previous work done by the authors. The authors conducted a multiple-case holistic study with six different companies (38 unique participants) to identify information needs in continuous integration and delivery. This study attempts to capture the importance, frequency, required effort (e.g. sequence of actions required to collect information), current approach to handling, and associated stakeholders with respect to identified needs. 27 information needs associated with different stakeholders (i.e. developers, testers, project managers, release team, and compliance authority) were identified. The identified needs were categorised as testing, code & commit, confidence, bug, and artefacts. Apart from identifying information needs, practitioners face several challenges in developing visualisation tools. Thus, 8 challenges that were faced by the practitioners to develop/maintain visualisation tools for the software team were identified. The recommendations from practitioners who are experts in developing, maintaining, and providing visualisation services to the software team were listed.

Place, publisher, year, edition, pages
WILEY, 2022
National Category
Software Engineering
Identifiers
urn:nbn:se:liu:diva-176847 (URN)10.1049/sfw2.12030 (DOI)000660517400001 ()
Note

Funding Agencies|Linkoping University

Available from: 2021-06-22 Created: 2021-06-22 Last updated: 2022-10-20
2. Improving continuous integration with similarity-based test case selection
Open this publication in new window or tab >>Improving continuous integration with similarity-based test case selection
Show others...
2018 (English)In: Proceedings of the 13th International Workshop on Automation of Software Test, New York: ACM Digital Library, 2018, p. 39-45Conference paper, Published paper (Refereed)
Abstract [en]

Automated testing is an essential component of Continuous Integration (CI) and Delivery (CD), such as scheduling automated test sessions on overnight builds. That allows stakeholders to execute entire test suites and achieve exhaustive test coverage, since running all tests is often infeasible during work hours, i.e., in parallel to development activities. On the other hand, developers also need test feedback from CI servers when pushing changes, even if not all test cases are executed. In this paper we evaluate similarity-based test case selection (SBTCS) on integration-level tests executed on continuous integration pipelines of two companies. We select test cases that maximise diversity of test coverage and reduce feedback time to developers. Our results confirm existing evidence that SBTCS is a strong candidate for test optimisation, by reducing feedback time (up to 92% faster in our case studies) while achieving full test coverage using only information from test artefacts themselves.

Place, publisher, year, edition, pages
New York: ACM Digital Library, 2018
Series
International Workshop on Automation of Software Test, ISSN 2377-8628
Keywords
Similarity based test case selection, Continuous integration, Automated testing
National Category
Software Engineering
Identifiers
urn:nbn:se:liu:diva-152002 (URN)10.1145/3194733.3194744 (DOI)000458922700009 ()978-1-4503-5743-2 (ISBN)
Conference
AST'18 2018 ACM/IEEE 13th International Workshop on Automation of Software Test
Note

Funding agencies: Chalmers Software Center7 [30]

Available from: 2018-10-14 Created: 2018-10-14 Last updated: 2022-08-23
3. Empirical analysis of practitioners perceptions of test flakiness factors
Open this publication in new window or tab >>Empirical analysis of practitioners perceptions of test flakiness factors
2021 (English)In: Software testing, verification & reliability, ISSN 0960-0833, E-ISSN 1099-1689, Vol. 31, no 8, article id e1791Article in journal (Refereed) Published
Abstract [en]

Identifying the root causes of test flakiness is one of the challenges faced by practitioners during software testing. In other words, the testing of the software is hampered by test flakiness. Since the research about test flakiness in large-scale software engineering is scarce, the need for an empirical case-study where we can build a common and grounded understanding of the problem as well as relevant remedies that can later be evaluated in a large-scale context is a necessity. This study reports the findings from a multiple-case study. The authors conducted an online survey to investigate and catalogue the root causes of test flakiness and mitigation strategies. We attempted to understand how practitioners perceive test flakiness in closed-source development, such as how they define test flakiness and what practitioners perceive can affect test flakiness. The perceptions of practitioners were compared with the available literature. We investigated whether practitioners perceptions are reflected in the test artefacts such as what is the relationship between the perceived factors and properties of test artefacts. This study reported 19 factors that are perceived by professionals to affect test flakiness. These perceived factors are categorized as test code, system under test, CI/test infrastructure, and organization-related. The authors concluded that some of the perceived factors in test flakiness in closed-source development are directly related to non-determinism, whereas other perceived factors concern different aspects, for example, lack of good properties of a test case, deviations from the established processes, and ad hoc decisions. Given a data set from investigated cases, the authors concluded that two of the perceived factors (i.e., test case size and test case simplicity) have a strong effect on test flakiness.

Place, publisher, year, edition, pages
Wiley-Blackwell, 2021
Keywords
flaky tests; non-deterministic tests; practitioners perceptions; software testing; test smells
National Category
Software Engineering
Identifiers
urn:nbn:se:liu:diva-178938 (URN)10.1002/stvr.1791 (DOI)000687875100001 ()
Note

Funding Agencies|Chalmers Tekniska Hogskola; Linkopings Universitet

Available from: 2021-09-06 Created: 2021-09-06 Last updated: 2022-08-23
4. An Evaluation of Machine Learning Methods for Predicting Flaky Tests
Open this publication in new window or tab >>An Evaluation of Machine Learning Methods for Predicting Flaky Tests
2020 (English)In: Proceedings of the 8th International Workshop on Quantitative Approaches to Software Quality (QuASoQ 2020) / [ed] Horst Lichter, Selin Aydin, Thanwadee Sunetnanta, Toni Anwar, CEUR-WS , 2020, Vol. 2767, p. 37-46Conference paper, Published paper (Other academic)
Place, publisher, year, edition, pages
CEUR-WS, 2020
Series
CEUR Workshop Proceedings, ISSN 1613-0073
National Category
Software Engineering
Identifiers
urn:nbn:se:liu:diva-174179 (URN)2-s2.0-85097906339 (Scopus ID)
Conference
27th Asia-Pacific Software Engineering Conference (APSEC 2020) Singapore (virtual), December 1, 2020.
Available from: 2021-03-15 Created: 2021-03-15 Last updated: 2022-10-14Bibliographically approved
5. A Multi-factor Approach for Flaky Test Detection and Automated Root Cause Analysis
Open this publication in new window or tab >>A Multi-factor Approach for Flaky Test Detection and Automated Root Cause Analysis
Show others...
2021 (English)In: 2021 28th Asia-Pacific Software Engineering Conference (APSEC), IEEE , 2021, p. 338-348Conference paper, Published paper (Refereed)
Abstract [en]

Developers often spend time to determine whether test case failures are real failures or flaky. The flaky tests, also known as non-deterministic tests, switch their outcomes without any modification in the codebase, hence reducing the confidence of developers during maintenance as well as in the quality of a product. Re-running test cases to reveal flakiness is resource-consuming, unreliable and does not reveal the root causes of test flakiness. Our paper evaluates a multi-factor approach to identify flaky test executions implemented in a tool named MDFlaker. The four factors are: trace-back coverage, flaky frequency, number of test smells, and test size. Based on the extracted factors, MDFlaker uses k-Nearest Neighbor (KNN) to determine whether failed test executions are flaky. We investigate MDFlaker in a case study with 2166 test executions from different open-source repositories. We evaluate the effectiveness of our flaky detection tool. We illustrate how the multi-factor approach can be used to reveal root causes for flakiness, and we conduct a qualitative comparison between MDFlaker and other tools proposed in literature. Our results show that the combination of different factors can be used to identify flaky tests. Each factor has its own trade-off, e.g., trace-back leads to many true positives, while flaky frequency yields more true negatives. Therefore, specific combinations of factors enable classification for testers with limited information (e.g., not enough test history information).

Place, publisher, year, edition, pages
IEEE, 2021
Series
Asia-Pacific Software Engineering Conference, ISSN 1530-1362, E-ISSN 2640-0715
Keywords
flaky tests; non-deterministic tests; flaky test detection; automated root-cause analysis; trace-back
National Category
Computer Sciences
Identifiers
urn:nbn:se:liu:diva-186181 (URN)10.1109/APSEC53868.2021.00041 (DOI)000802192700034 ()2-s2.0-85126250720 (Scopus ID)9781665437844 (ISBN)9781665437851 (ISBN)
Conference
28th Asia-Pacific Software Engineering Conference (APSEC), Virtual event, December 06-09, 2021
Available from: 2022-06-23 Created: 2022-06-23 Last updated: 2024-09-10

Open Access in DiVA

fulltext(4511 kB)832 downloads
File information
File name FULLTEXT02.pdfFile size 4511 kBChecksum SHA-512
141652887c1e2e5465db1045feacce7a1cabf00702fa8c97c690feefe144d017ec932fffe82d5af30f4cf49a10c7660c035eba2de66520234dedc059711e4c5e
Type fulltextMimetype application/pdf

Other links

Publisher's full text

Authority records

Ahmad, Azeem

Search in DiVA

By author/editor
Ahmad, Azeem
By organisation
Software and SystemsFaculty of Science & Engineering
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 928 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
isbn
urn-nbn

Altmetric score

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

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • oxford
  • 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