A Systematic Literature Review on Test Case Prioritization Techniques

A Systematic Literature Review on Test Case Prioritization Techniques

Harendra Singh, Laxman Singh, Shailesh Tiwari
Copyright: © 2022 |Pages: 36
DOI: 10.4018/IJSI.312263
OnDemand:
(Individual Articles)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

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
ElementApproaches of Regression Test
SelectionMinimizationPrioritization
StrategyTest case involvement in modificationEliminate the test casesPermutation of test cases using prioritization and ordering
CapacityValuable in selecting the test case of modifiedValuable in downsizing the test suit.If new test cases are considered in the test case permutation.
LimitationNew 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 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