International Journal of Advances in Engineering & Technology, May 2011. ©IJAET ISSN: 2231-1963 188 Vol. 1,Issue 2,pp.188-193 COVERAGE BASED TEST SUITE AUGMENTATION TECHNIQUES-A SURVEY Bharti Suri 1 , Prabhneet Nayyar 2 1 Assistant Professor, USIT Guru Gobind Singh Indraprastha University, Delhi, INDIA bhartisuri@gmail.com 2 M.Tech, USIT Guru Gobind Singh Indraprastha University, Delhi, INDIA prabhneetnayyar@gmail.com ABSTRACT Regression testing is the activity of retesting a program so as to ensure that no new errors have been introduced into the previously tested code. However this activity does not involve rerunning the entire test suite but selecting only a few test cases that exercise the changes. Suppose there is a program P and P’ is it’s modified version. The regression test suite so selected must be able to reveal the differences between P and P’ that would help the developer discover errors caused by changes. More and more emphasis has been laid in identifying the regression test suites and ordering them. However, less focus have been laid on the effectiveness of regression test suite in response to changes. While performing regression testing we also need to check whether the existing test suites are sufficient for handling the changes that are introduced. If they are not adequate then providing guidance for creating the new test cases that would be targeting the changed behavior of the program. This problem is called as test suite augmentation. Many test suite augmentation techniques have been proposed in this regard. The main aim of this paper is to explain the concept of test suite augmentation and review the existing techniques based on coverage criteria. KEYWORDS: Test Suite Augmentation, Matrix, Directed Test Suite Augmentation 1. INTRODUCTION One of the fundamental activities during software evolution is regression testing. Regression testing [4] is the testing of the modified software to ensure that the changed parts of the software behave as it is intended to behave and to ensure that no new errors have been introduced as a result of these changes. This activity however does not involve rerunning the entire suite but selecting a subset of it that exercise the changes. More and more emphasis has been laid on majorly three activities namely: regression test selection, test suite reduction and test suite prioritization. Regression test selection basically identifies test cases that we do not need to rerun on the modified version of the software. Test suite reduction on the other hand takes criteria into consideration and accordingly eliminates redundant test cases in a test suite. Test suite prioritization [19] [20] is a concept related to finding the defects earlier by ordering test cases in a test suite. However little attention have been paid to determining whether the existing test suite adequately exercises the modified software and if not providing a suitable guidance for creating new test cases for the same. This problem is called as test suite augmentation problem. This research is divided into four sections. The first section describes about test suite augmentation. In the next section the techniques proposed for solving the test suite augmentation problem and mainly focuses on identifying the affected portions[2][3][4][12] .In the next section other techniques for test suite augmentation that mainly focuses on test case generation[24][25] along with augmentation algorithm [13] are discussed. A comparative analysis is also obtained after the techniques have been reviewed.