MC/DC guided Test Sequence Prioritization using Firefly Algorithm
Optimization of the regression testing process has been playing an important role in developing quality software. Still, it is difficult to achieve satisfactory results on the generation of non-redundant and optimized test sequences. There are many optimization techniques applied to regression testi...
Saved in:
Published in: | Evolutionary intelligence Vol. 14; no. 1; pp. 105 - 118 |
---|---|
Main Authors: | , , , , |
Format: | Journal Article |
Language: | English |
Published: |
Berlin/Heidelberg
Springer Berlin Heidelberg
01-03-2021
Springer Nature B.V |
Subjects: | |
Online Access: | Get full text |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Summary: | Optimization of the regression testing process has been playing an important role in developing quality software. Still, it is difficult to achieve satisfactory results on the generation of non-redundant and optimized test sequences. There are many optimization techniques applied to regression testing. Firefly algorithm (FA) has gained its popularity as an optimization technique to provide better solutions in the areas of science and engineering. But, the original FA needs to have a better or modified objective function. This work uses FA with an improvised objective function to generate optimal test paths guided by “Modified Condition/Decision Coverage” (MC/DC) criteria in the form of a guided matrix. This matrix is built with MC/DC influence values that we obtained from the predicate nodes of “control flow graph” (CFG). This guided matrix also helps in measuring the fault-finding potential of a node. It also helps in routing fireflies to move between the nodes of a CFG. We have chosen MC/DC criteria, as it is the second strongest code coverage criteria due to its linear time complexity. Then, FA is used by defining an appropriate objective function to traverse the graph using fireflies. We obtain optimal test sequences after executing the FA. These test sequences are ranked by computing the mean brightness of nodes along a path and then prioritized based on their ranks. Our simulation and comparison are validated by experimenting on several moderate sized Java programs. |
---|---|
ISSN: | 1864-5909 1864-5917 |
DOI: | 10.1007/s12065-019-00322-6 |