Test Prioritization in Continuous Integration Environments

09/01/2018
by   Alireza Haghighatkhah, et al.
0

Two heuristics namely diversity-based (DBTP) and history-based test prioritization (HBTP) have been separately proposed in the literature. Yet, their combination has not been widely studied in continuous integration (CI) environments. The objective of this study is to catch regression faults earlier, allowing developers to integrate and verify their changes more frequently and continuously. To achieve this, we investigated six open-source projects, each of which included several builds over a large time period. Findings indicate that previous failure knowledge seems to have strong predictive power in CI environments and can be used to effectively prioritize tests. HBTP does not necessarily need to have large data, and its effectiveness improves to a certain degree with larger history interval. DBTP can be used effectively during the early stages, when no historical data is available, and also combined with HBTP to improve its effectiveness. Among the investigated techniques, we found that history-based diversity using NCD Multiset is superior in terms of effectiveness but comes with relatively higher overhead in terms of method execution time. Test prioritization in CI environments can be effectively performed with negligible investment using previous failure knowledge, and its effectiveness can be further improved by considering dissimilarities among the tests.

READ FULL TEXT
research
10/19/2020

Using mutation testing to measure behavioural test diversity

Diversity has been proposed as a key criterion to improve testing effect...
research
04/29/2023

Leveraging Data Mining Algorithms to Recommend Source Code Changes

Context: Recent research has used data mining to develop techniques that...
research
07/20/2021

Automated Test Cases Prioritization for Self-driving Cars in Virtual Environments

Testing with simulation environments helps to identify critical failing ...
research
04/22/2022

Comparative Study of Machine Learning Test Case Prioritization for Continuous Integration Testing

There is a growing body of research indicating the potential of machine ...
research
04/02/2019

The Impact of Systematic Edits in History Slicing

While extracting a subset of a commit history, specifying the necessary ...
research
05/15/2023

Time-based Repair for Asynchronous Wait Flaky Tests in Web Testing

Asynchronous waits are one of the most prevalent root causes of flaky te...
research
09/13/2019

Consistent time-to-failure tests and analyses of adhesive anchor systems

Motivated by tunnel accidents in the recent past several investigations ...

Please sign up or login with your details

Forgot password? Click here to reset