Evaluating The Effectiveness of Regression Test Selection Using Ant Colony Optimization
Evaluating The Effectiveness of Regression Test Selection Using Ant Colony Optimization
M.Tech Scholar CBS Group of Instituion, Maharishi Dayanand University, Jhajjar, Haryana, India
Asst. Professor CBS Group of Instituion, Maharishi Dayanand University, Jhajjar, Haryana, India
Abstract
Regression testing in an important phase in Software
Development Life Cycle. This activity is generally performed
in Software Maintenance phase. This activity is performed
whenever a major or minor change is made to the application
code on demand of the client or end under. These
modifications can sometimes cause the application to work in
inappropriate way. In order to catch bugs and errors, testers
have many test cases to test the application. But in order to
find out the bugs, all the test cases need to be run. Running
each and every test cases is not possible every time dues to
time and cost constraints. To select and prioritize the test
cases, we are using algorithm, Ant Colony Optimization.
1. INTRODUCTION
Regression testing process is carried out in maintenance
phase of the software and it is one of the important
phases. Regression testing is performed whenever the
application code is modified. To test the modified
changes whether they are working correctly or not,
Regression testing is done. Sometime it is possible that
due to budget and time constraint, it is not possible to rerun all the test cases in the test suite to test the modified
code. In that scenario, we use test case minimization,
selection and prioritization technique for Regression
testing.
Page 60
3. ACO ALGORITHM
Where
I is the index of the current test case
J is the index of the test case
is a
3.2.1Implementation
Tool used in this paper is Ant Colony Algorithm. This
tool is basically used for solving Travelling Sales Person
problem. We have used this tool for test case
prioritization and selection as well. The shortest path
covered will be given the priority among many test cases;
It is obvious that the test case which is covered in the
shortest distance will be executed in minimum time.
Testing is performed to recover the faults in the
application. So it is obvious that every selected test case
would recover some fault or pass the test case.
Ant Colony Algorithm tool used in this research looks as
follow[6]:
After the first ant has made the Kth step and has modified
a pheromone, it does not begin the next step. It waits until
all the ant completes there Kth step and modify the
pheromones on their travelled path. In this process, the
n+1 ant waits for the update by the ant n and so on.
3.1Evaporation and pheromone update
After all ants have completed iteration, pheromone update
and global evaporation are applied to the paths traversed
by the ants. In ACO, only the best to date any is allowed
to update pheromone on the path. Evaporation is allowed
only on path which are visited by the ants. Evaporation
used equation 3,
(3)
And (2) and (4) are used for Global pheromone update.
(4)
The equations will only be applied to paths visited by the
selected ants only.
3.2Pheromone Reset
If ants are struck in loop, there is an option to reset all
pheromones to start values and continue run. This option
might be enabled or disabled for all implemented
2, 8
4
9
5
3
0
4.01
4.528
4.668
5.089
5.36
7.281
Test
Distance
travelled
3.483
3.848
3.87
3.89
4.45
4.459
4.555
4.755
4.792
5.198
Test
Distance
travelled
3.129
References
[1] Y.Singh, A.Kaur, B.Suri, Test case prioritization
using ant colony optimization, ACM SIGSOFT
Software Engineering Notes, Vol.35 No.4, pages 1-7,
July 2010
[2] A. Colorni, M. Dorigo, and V. Maniezzo,
Distributed optimization by ant colonies,
Proceedings of ECAL'91, European Conference on
Artificial Life, Elsevier Publishing, Amsterdam,
[3] M. Dorigo, Optimization, learning and natural
algorithms, Ph.D. Thesis, Politecnico diMilano,
Milano, 1992.
Page 63
Page 64