SELGOct 14, 2021

DeepOrder: Deep Learning for Test Case Prioritization in Continuous Integration Testing

arXiv:2110.07443v147 citations
Originality Incremental advance
AI Analysis

This addresses the efficiency of continuous integration testing for software engineers by improving fault detection early in cycles, though it appears incremental as it builds on existing regression machine learning methods.

The paper tackles the problem of test case prioritization in continuous integration testing by introducing DeepOrder, a deep learning-based model that ranks test cases using historical execution data from any number of previous cycles, and it outperforms industry practice and state-of-the-art approaches in time-effectiveness and fault detection effectiveness.

Continuous integration testing is an important step in the modern software engineering life cycle. Test prioritization is a method that can improve the efficiency of continuous integration testing by selecting test cases that can detect faults in the early stage of each cycle. As continuous integration testing produces voluminous test execution data, test history is a commonly used artifact in test prioritization. However, existing test prioritization techniques for continuous integration either cannot handle large test history or are optimized for using a limited number of historical test cycles. We show that such a limitation can decrease fault detection effectiveness of prioritized test suites. This work introduces DeepOrder, a deep learning-based model that works on the basis of regression machine learning. DeepOrder ranks test cases based on the historical record of test executions from any number of previous test cycles. DeepOrder learns failed test cases based on multiple factors including the duration and execution status of test cases. We experimentally show that deep neural networks, as a simple regression model, can be efficiently used for test case prioritization in continuous integration testing. DeepOrder is evaluated with respect to time-effectiveness and fault detection effectiveness in comparison with an industry practice and the state of the art approaches. The results show that DeepOrder outperforms the industry practice and state-of-the-art test prioritization approaches in terms of these two metrics.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes