Fault-Based Test Case Prioritization of Regression Testing Using Genetic Algorithm

Fault-Based Test Case Prioritization of Regression Testing Using Genetic Algorithm

Priya T., Prasanna M.
Copyright: © 2022 |Pages: 16
DOI: 10.4018/IJeC.304032
OnDemand:
(Individual Articles)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Prioritization of test case technique schedules the test suite in an order which will increase the efficiency and effectiveness of the system. The test case executed in an order which enhances the probability of finding the fault and also it finds the severe fault at the early stage. The prioritization of test case is proved to be useful for the regression testing. While much research is going on code coverage based prioritization technique and requirement based test case prioritization technique is not used by many. In this paper, test case prioritization technique based on fault of regression technique is proposed from the requirement specification, to improve the software quality and to increase the fault detection rate. In this paper, test case prioritization is done based the six main factors (i) requirement based on customer priority (ii) based on changes made in requirement specification (iii) complexity in Implementation of code (iv) re-usability (v) flow of application (vi) impact of the fault.
Article Preview
Top

Introduction

In the software life cycle, the test case is written to test the software. If the software is altered, the maintenance activity called testing based on regression is performed to check the validity of the software that has been modified. After the modification of software, a new test case is added to the existing test suite for checking the altered requirements; thereby, it increases the size, cost required for the test suite (Jenifer and Illavarsi, 2014; Navak et al., 2017). To improve the process of testing, the software improvements have to be done in regression testing, which will reduce the cost required for testing. Once the requirements are specified, the software is developed with the help of a lifecycle in the development of software. Different phases are involved in the software development after designing the software; the testing section is used to test the developed software, a different method of testing techniques is used to check the efficiency of the code. For testing the whole software, regression testing is used. In the regression testing, the previously executed test case is also checked to check whether the previous code is working fine. The testing process is carried out to check whether fixing of new bugs does not result in new bugs which affect the previous bug-free functions (Sabharwal et al., 2011; Alsmadi and Alda, 2012). The regression testing is required (i) when there is a change in the requirement and code, (ii) when a new feature is added to the software (iii) when the issue has to be detected. There are four types of regression techniques (i) Reset all technique, (ii) regression test selection technique, (iii) prioritization of test case (iv) hybrid approach. The regression testing is performed using the RESET ALL technique to test the modified software by resetting all the test cases. All the test case has to be re-executed; however, it consumes more time. Regression test case selection technique in which part of the test of a test suite is selected for re-execution and the test case is categorized into a reusable based test case and obsolete based test case. The test suite that can be reused in the next cycle is called a reusable test case, and the test case, which cannot be utilized, is an obsolete test case. Test case prioritization technique in which the test case is executed based on the Priority based on some goals or criteria. In the Prioritization of test cases, the test cases are not discarded. The fourth type of testing based on regression is the hybrid approach is the combination of both, that is, the selection of test cases and the Prioritization of test cases(Huang et al.,2010; Muthusamy and seetharaman,2013;Ray and Mohapatra,2014) Various techniques can be used for the regression test case. The test case can be categorized based on the various factors like random, optimal, branch coverage, statement coverage, failure rates, and total number of fault occurred in the test suite.

In the regression testing, the previously executed test case is also checked to check whether the previous code is working fine. The testing process is carried out to check whether fixing of new bugs does not result in new bugs which affect the previous bug-free function (Kayes,2011).

Figure 1.

Activities carried out during the regression technique

IJeC.304032.f01

Complete Article List

Search this Journal:
Reset
Volume 20: 1 Issue (2024)
Volume 19: 7 Issues (2023)
Volume 18: 6 Issues (2022): 3 Released, 3 Forthcoming
Volume 17: 4 Issues (2021)
Volume 16: 4 Issues (2020)
Volume 15: 4 Issues (2019)
Volume 14: 4 Issues (2018)
Volume 13: 4 Issues (2017)
Volume 12: 4 Issues (2016)
Volume 11: 4 Issues (2015)
Volume 10: 4 Issues (2014)
Volume 9: 4 Issues (2013)
Volume 8: 4 Issues (2012)
Volume 7: 4 Issues (2011)
Volume 6: 4 Issues (2010)
Volume 5: 4 Issues (2009)
Volume 4: 4 Issues (2008)
Volume 3: 4 Issues (2007)
Volume 2: 4 Issues (2006)
Volume 1: 4 Issues (2005)
View Complete Journal Contents Listing