A Prioritization Approach for Regression Test Cases Based on a Revised Genetic Algorithm


  • Thamer Alrawashdeh
  • Fuad ElQirem
  • Ahmad Althunibat
  • Roba Alsoub




Regression testing, Test Cases Prioritization, Genetic Algorithm, Average Percentage Transition Coverage


The regression testing is a software-based testing approach executed to verify that changes made to the software
do not affect the existing functionality of the product. On account of the constraints of time and cost, it is
impractical to re-execute all the test cases for software whenever a change occurs. In order to overcome such
a problem in the selection of regression test cases, a prioritization technique should be employed. On the basis
of some predefined criterion, the prioritization techniques create an execution schedule for the test cases, so
the higher priority test cases can be performed earlier than the lower priority test cases in order to improve
the efficiency of the software testing. Many prioritization criteria for regression test cases have been proposed
in software testing literature; however, most of such techniques are code-based. Keeping in view this fact, this
research work has proposed a prioritization approach for regression test cases generated from software specifications
which are based on the criterion of the Average Percentage Transition Coverage (APTC) by using a
revised genetic algorithm. This criterion evaluates the rate of transitions coverage by incorporating knowledge
about the significance of transitions between activates in the form of weights. APTC has been used as a fitness
evaluation function in a genetic algorithm to measure the effectiveness of a test cases sequence. Moreover, in
order to improve the coverage percentage, the proposed approach has revised the genetic algorithm by solving
the problem of the optimal local solution. The experimental results show that the proposed approach demonstrates
a good coverage performance with less execution time as compared to the standard genetic algorithm
and some other prioritization techniques.