Test Suite Minimization in Regression Testing Using Hybrid Approach of ACO and GA

Test Suite Minimization in Regression Testing Using Hybrid Approach of ACO and GA

Abhishek Pandey (University of Petroleum and Energy Studies, Bidholi, India) and Soumya Banerjee (Department of Computer Science and Engineering, Birla Institute of Technology Mesra, Ranchi, India)
DOI: 10.4018/978-1-7998-3016-0.ch007
OnDemand PDF Download:
List Price: $37.50
10% Discount:-$3.75


This article describes about the application of search-based techniques in regression testing and compares the performance of various search-based techniques for software testing. Test cases tend to increase exponentially as the software is modified. It is essential to remove redundant test cases from the existing test suite. Regression testing is very costly and must be performed in restricted ways to ensure the validity of the existing software. There exist different methods to improve the quality of test cases in terms of the number of faults covered, opposed to the number of statements covered in a minimum time. Different methods exist for this purpose, such as minimization, test case selection, and test case prioritization. In this article, search-based methods are applied to improve the quality of the test suite in order to select a minimum set of test cases which covers all the statements in a minimum time. The whole approach is named search based regression testing. In this paper, the performance of different metaheuristics for test suite minimization problem is also compared with a hybrid approach of ant colony optimization algorithm and genetic algorithm.
Chapter Preview


Software engineering tasks are laborious and time consuming. Among all software engineering tasks, software-testing accounts for almost 50% of the total cost (Myers, 1979). Automation of software testing tasks could significantly reduce the time and cost of development of software (Miller & Spooner, 1976). Automating software engineering tasks has always been the area of research among research communities (Korel, 1990). Software engineering and testing tasks often requires satisfying conflicting objectives. This requires optimization of certain software engineering tasks to satisfy conflicting objectives. Many of the software testing problems requires solutions with conflicting objectives such as what is the minimum set of test data which achieves maximum coverage criteria?

Search based software engineering is a term coined by Harman & Jones (2001) and is concerned to reformulate the software engineering problems as an optimization problem. Considering the broader aspect of search based software engineering (SBSE), many applications, models have been proposed still enhancement of quality of test cases, and measuring the efficiency of test cases is yet to achieve the best results. Test suite optimization is required in various software applications including cloud computing and smart cities application. It saves various computing resources and gives the optimized solution. The principal reason of such scope of results is due to the presence of different set of constraints during the output phase for different software applications.

Evolutionary methods as mentioned earlier could be a major motivation due to its heuristic properties of search towards different test cases. To find the quality test cases among several test cases, the test data archived from nature-inspired metaheuristic algorithms provides a good approach towards problem solving. This research also figures out conventional evolutionary testing like genetic algorithm but major emphasis has been given to develop meta heuristic and heuristic based search algorithms primarily to be a random search so that without having knowledge of evolutionary method, the process can be applied. Among all software engineering tasks, testing is the most studied topic (McMinn, 2004). Search based software testing is concerned to find the solution of testing problem using search based techniques (Harman & McMinn, 2010).

Regression testing is performed in maintenance phase (Rothermel & Harrold, 1996). Among all regression-testing problem, test suite minimization is widely studied topic. Test suite minimization is NP hard, therefore no deterministic algorithm exists that give exact solution. Test suite minimization has been reformulated as minimum set cover problem that too is NP complete. Therefore, metaheuristic algorithms are natural choice to solve these problems. In the maintenance phase too, software testing is done in order to gain the confidence in the software.

Complete Chapter List

Search this Book: