An Effective Regression Test Case Selection Using Hybrid Whale Optimization Algorithm

An Effective Regression Test Case Selection Using Hybrid Whale Optimization Algorithm

Arun Prakash Agrawal (Guru Gobind Singh Indraprastha University, New Delhi, India), Ankur Choudhary (Amity University Uttar Pradesh, Noida, India) and Arvinder Kaur (Guru Gobind Singh Indraprastha University, New Delhi, India)
Copyright: © 2020 |Pages: 15
DOI: 10.4018/IJDST.2020010105

Abstract

Test suite optimization is an ever-demanded approach for regression test cost reduction. Regression testing is conducted to identify any adverse effects of maintenance activity on previously working versions of the software. It consumes almost seventy percent of the overall software development lifecycle budget. Regression test cost reduction is therefore of vital importance. Test suite optimization is the most explored approach to reduce the test suite size to re-execute. This article focuses on test suite optimization as a regression test case selection, which is a proven N-P hard combinatorial optimization problem. The authors have proposed an almost safe regression test case selection approach using a Hybrid Whale Optimization Algorithm and empirically evaluated the same on subject programs retrieved from the Software Artifact Infrastructure Repository with Bat Search and ACO-based regression test case selection approaches. The analyses of the obtained results indicate an improvement in the fault detection ability of the proposed approach over the compared ones with significant reduction in test suite size.
Article Preview
Top

1. Introduction

Any software product experiences a number of evolutions during maintenance phase due to ever-changing customer requirements and rapid technical advancements. So, it becomes essential to check the impact of maintenance activity from previous working software evolution to new one. Regression testing needs to be conducted to ensure the correctness of unmodified parts of the software to avoid any ripple effect of the changes made to certain parts of the software. Addition of new test cases to test the newly added functionality continuously increases the test suite size. Regression testing cost becomes very high due to ever increasing test suite size, high execution cost of individual test cases and manual handling of test cases. Test suite optimization is therefore an ever-required approach by the software industry. Regression Test case selection (RTCS) is one of the most explored approaches of test suite optimization to reduce the cost of regression testing.

The focus of this paper is on regression test case selection to optimize regression testing effort required in terms of cost (No. of test cases to be re-executed) and time (in seconds). Authors have proposed a safe lightweight RTCS approach using a nature inspired Hybrid Whale Optimization metaheuristic considering fault coverage as test adequacy criteria as opposed to requirement coverage used by most of the previous researchers. Fault coverage data was retrieved from past fault histories of subject programs available from Software Artifact Infrastructure Repository (SIR) (Do, Elbaum, & Rothermel, 2005) by writing shell scripts. Proposed approach is based on the premise that individual test cases have overlapping fault coverage and it should be considered during test case selection. This paper performs regression test case selection using Hybrid Whale Optimization Algorithm (HWOA).

Usefulness and feasibility of our approach is verified by performing an empirical study on twelve different versions of five subject programs retrieved from SIR. Results are also compared with the results of Bat Search Algorithm (BAT) and Ant Colony Optimization based RTS approaches and indicates the improvement in fault detection ability of selected test suite.

Main contributions of this paper are as follows:

  • Authors have proposed a new regression test case selection approach using Hybrid Whale Optimization Algorithm with fault coverage as test adequacy criteria keeping in view the overlapped fault coverage of individual test cases.

  • An empirical study was conducted to verify the effectiveness of our approach. Results conclude the improvement in fault detection ability of selected test suite without severely increasing the test suite size.

The upcoming sections are organized as follows: A brief overview of the related work by previous researchers is presented in section 2. Section 3 briefly describes the RTS problem and section 4 describes the proposed approach. Experimental setup and results analysis are discussed in section 5 and 6 respectively. Finally, the conclusion and future scope are presented in section 7.

Top

Test case selection, minimization and prioritization are three well known approaches to optimize the regression test suite size. In this paper, we mainly focus on Regression test case selection (RTCS) approaches. Any RTCS approach aims for 100% fault coverage by selecting necessary low execution cost test cases to reduce the regression testing efforts. RTCS is an NP-hard problem. Various heuristics and nature inspired approaches have been proposed to address RTCS. In 90’s Fujiwara et al. (Fujiwara, V. Bochmann, Khendek, Amalou, & Ghedamsi, 1991) proposed a heuristic approach to attempt RTCS using finite state models. Applicability of their approach and its fault detection ability is however dependent on a number of assumptions which can’t always be satisfied. It also suffers from the problem of non-determinism. In 1996, Rothermel et al. (Rothermel & Harrold, 1996) developed a framework to analyze various RTCS approaches and motivated future researchers to investigate other selective retest techniques based on specifications of software. Rothermel et al. also proposed one more regression test case selection approach using control flow graph in 1997 (Rothermel & Harrold, 1997).

Complete Article List

Search this Journal:
Reset
Open Access Articles
Volume 12: 4 Issues (2021): Forthcoming, Available for Pre-Order
Volume 11: 4 Issues (2020)
Volume 10: 4 Issues (2019)
Volume 9: 4 Issues (2018)
Volume 8: 4 Issues (2017)
Volume 7: 4 Issues (2016)
Volume 6: 4 Issues (2015)
Volume 5: 4 Issues (2014)
Volume 4: 4 Issues (2013)
Volume 3: 4 Issues (2012)
Volume 2: 4 Issues (2011)
Volume 1: 4 Issues (2010)
View Complete Journal Contents Listing