Home > Journals > IJSI > Article
A Systematic Literature Review on Test Case Prioritization Techniques

A Systematic Literature Review on Test Case Prioritization Techniques

Harendra Singh (Department of Computer Science and Engineering, Dr. A. P. J. Abdul Kalam Technical University, Lucknow, India), Laxman Singh (Department of Electronics and Communication Engineering, Noida Institute of Engineering and Technology, Greater Noida, India), and Shailesh Tiwari (Krishna Engineering College, Ghaziabad, India)
Copyright: © 2022 | Pages: 36
DOI: 10.4018/IJSI.312263

Abstract

Regression testing (RT) provides confidence for any software to work properly after incorporating modifications in the software functionalities. The amendments in the software are visible due to the evolution or the adoption of the new functionalities in the software. New test cases might be added or removed from the test suit during the RT. TCP seeks to provide an execution order of test cases when test cases are large in number for the detection of faults at an early stage. This paper provides classification of available TCP techniques that are examined based on the six research questions having higher relevance regarding the TCP. To carry out a systematic literature review (SLR) on TCP techniques, the authors extracted a large number of papers from appropriate repositories of journals, conferences, workshops, and symposiums using various search keywords. Each TCP approach has its own limitations, potential value, and advantages, which are covered in this SLR in considerable detail.
Article Preview
Top

1. Introduction

Regression activity ensures the proper functioning of the working software under trial during the development phase (Li et al., 2007). Regression testing is usually employed when any alteration takes place in the software. These alterations are frequent due to customer’s requirement, availability of the new and better algorithms for computing task as well as owning to the revamping in design of the software for reducing the complexity of existing software. Regression testing is a critical and expensive task (Li et al., 2007). Regression testing tends to be an integral part of the software system, and hence plays a pivotal role in enhancing its functionality (Do, 2016; Elbaum et al., 2014; Hao, Zhang, & Mei, 2016; Liang et al., 2018; Ralph, 2016). Perf Ranker is claimed to be the first approach in performance regression testing for collection intensive software (Elbaum et al., 2014). Software testing is as an expensive phase owning to being a repetitive task (Hao, Zhang, & Mei, 2016), therefore, consistent efforts need to be made by software developers to eliminate the testing phase owning to financial and time constraints.

Test case prioritization techniques are applied in continuous integration (CI) environments (Liang et al., 2018). The CI server monitors make alteration in the code repository (CR) and ensure whether changes have occurred and executed the software build and the test cases with respect to the change taken place in CR. Software tends to evolve with time and hence the 33% of total cumulative cost needed for software development is invested over regression testing (Chittimalli & Harrold, 2009; Mostafa et al., 2017). Test case selection, minimization, and prioritization are accountable for regression testing of a software (Jeffrey & Gupta, 2007; Yoo & Harman, 2007).

Test suit minimization is used to eliminate the test cases from the test suit to minimize the number of those test cases, which are required to run the software (Jeffrey & Gupta, 2007). The minimization is sometimes called test suit reduction. The elimination of test cases is said to be permanent in test case reduction process.

Test case selection approach is used to execute those test cases, which are aware of modification and needs to be executed. Test case selection approach mitigates the number of test cases by selecting the test cases that have relation with the modified test cases (Li et al., 2007).

The evidence-based software engineering (EBSE) practices finds applicability for research in test case prioritization (TCP) (Kitchenham & Brereton, 2009). TCP orders the test cases in such a way that it achieves optimization based on some properties (i.e., time and cost) of preference (Kitchenham, 2004). Prioritization techniques (Li et al., 2007) create a sequence of execution of test cases based on matrix using fitness function. For instance, If T is a test suit and PT is the permutation of the T. Let f be a function from PT to a real number (Li et al., 2007). The problem is to find T Î PT such that (∀ T’’ (T’ Î PT) (T’ 1 T’) [f(T’) 3 (T’’)].

Here, function f is used to find T from all possible permutation (i.e., from PT) based on the value that makes it better member than others.

Table 1.
Approaches for Regression testing
Element Approaches of Regression Test
Selection Minimization Prioritization
Strategy Test case involvement in modification Eliminate the test cases Permutation of test cases using prioritization and ordering
Capacity Valuable in selecting the test case of modified Valuable in downsizing the test suit. If new test cases are considered in the test case permutation.
Limitation New test cases may not be present for modified code. Test case may not be aware of the modification. Takes a huge time if the size of the test suit is large.

Complete Article List

Search this Journal:
Reset
Volume 14: 1 Issue (2026)
Volume 13: 1 Issue (2025)
Volume 12: 1 Issue (2024)
Volume 11: 1 Issue (2023)
Volume 10: 4 Issues (2022): 2 Released, 2 Forthcoming
Volume 9: 4 Issues (2021)
Volume 8: 4 Issues (2020)
Volume 7: 4 Issues (2019)
Volume 6: 4 Issues (2018)
Volume 5: 4 Issues (2017)
Volume 4: 4 Issues (2016)
Volume 3: 4 Issues (2015)
Volume 2: 4 Issues (2014)
Volume 1: 4 Issues (2013)
View Complete Journal Contents Listing