A Genetic Algorithm for Regression Test Case Prioritization
Keywords:
Regression testing, test cases, prioritization techniques, Genetic Algorithm, Logistic RegressionAbstract
Regression testing is used to retest the modified version of software. Regression testing is expensive but still an important process. In regression testing, test case prioritization is used to improve the efficiency of the regression test suite by executing the most critical test cases first. As retesting of entire program is not possible with adequate time and cost i.e. only subset of all test cases will execute for regression testing. In this paper, we introduce a technique for regression test case prioritization based on supervised machine learning. We use Genetic Algorithm to make test case description processable for machine learning. In our approach we have consider machine learning classification model logistic regression to evaluate and calculate the prioritization quality. Our result indicates that our technique gives more accurate result as compare to other techniques. We use hybrid combination of genetic algorithm and logistic regression to improve the test case prioritization technique.
References
K. K. Ranga, "Analysis and Design of Test Case Prioritization Technique for Regression Testing", International Journal for Innovative Research in Science and Technology, vol. 2, pp. 248-252, 2015.
S. Yoo and M. Harman, "Regression testing minimization, selection and prioritization: a survey", Software Testing, Verification and Reliability, vol. 22, pp. 67-120, 2012.
T. Hall, S. Beecham, D. Bowes, D. Gray and S. Counsell, "A systematic literature review on fault prediction performance in software engineering", Software Engineering, IEEE Transactions on, vol. 38, pp. 1276-1304, 2012.
L.Briand, “Novel applications of machine learning in software testing”, International Conference of Software Quality, pages 3-10, 2008.
D. Marijan, A. Gotlieb and S. Sen, "Test case prioritization for continuous regression testing: An industrial case study", in Software Maintenance (ICSM), 2013 29th IEEE International Conference on, pp. 540-543, 2013.
G. Chen and P.-Q. Wang. Test case prioritization in a specification-based testing environment. 9(8), 2014.
M. Harman, P. McMinn, M. Shahbaz and S. Yoo, "A comprehensive survey of trends in oracles for software testing", University of Sheffield, Department of Computer Science, Tech. Rep. CS-13-01, 2013.
K. Zhai, B. Jiang and W. Chan, "Prioritizing test cases for regression testing of location-based services: metrics, techniques and case study", Services Computing, IEEE Transactions on, vol. 7, pp. 54-67, 2014.
J. Petke, S. Yoo, M. B. Cohen and M. Harman, "Efficiency and early fault detection with lower and higher strength combinatorial interaction testing", in Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, pp. 26-36, 2013.
A. Orso and G. Rothermel, "Software testing: a research travelogue (2000–2014)," in Proceedings of the on Future of Software Engineering, pp. 117-132, 2014.
M. J. Harrold, "Testing: a roadmap", in Proceedings of the Conference on the Future of Software Engineering, pp. 61-72, 2000..
M. Grindal, B. Lindström, J. Offutt and S. F. Andler, "An evaluation of combination strategies for test case selection", Empirical Software Engineering, vol. 11, pp. 583-611, 2006.
G. Rothermel, R. H. Untch, C. Chu and M. J. Harrold, "Prioritizing test cases for regression testing", Software Engineering, IEEE Transactions on, vol. 27, pp. 929-948, 2001.
S. Elbaum, A. G. Malishevsky and G. Rothermel, "Test case prioritization: A family of empirical studies", Software Engineering, IEEE Transactions on, vol. 28, pp. 159-182, 2002.
M. Gligoric, A. Groce, C. Zhang, R. Sharma, M. A. ALIPOUR and D. Marinov, "Guidelines for coverage-based comparisons of non-adequate test suites", Space, vol. 6, pp. 1,142, 2014.
H. Do, S. Mirarab, L. Tahvildari and G. Rothermel, "An empirical study of the effect of time constraints on the cost-benefits of regression testing", in Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering, pp. 71-82, 2008.
E. Engstrom, P.Runeson, and A.Ljung, “Improving regression testing transparency and efficiency with history based prioritization- an industrial case study”, in Proceedings of International Conference of Software Testing, Verification and validation, IEEE, pp.367-376, 2011.
A. Perini, A. Susi, and P.Avesani, “A machine learning approach to software requirement prioritization”,IEEE Transaction of Software Engg, pp.445-461, 2013.
Y.-C. Huang, K.-L. Peng and C.-Y. Huang, "A history-based cost-cognizant test case prioritization technique in regression testing", Journal of Systems and Software, vol. 85, pp. 626-637, 2012.
I. H. Witten, E. Frank, and M. A. Hall, “Data Mining: Practical Machine Learning Tools and Techniques”, Morgan Kaufmann Publishers Inc.,2011.
X. Devroey, G. Perrouin, M. Cordy, P.-Y. Schobbens, A. Legay and P. Heymans, "Towards statistical prioritization for software product lines testing", in Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems, p. 10, 2014.
D. D. Nardo, N. Alshahwan, L. Briand and Y. Labiche, "Coverage‐based regression test case selection, minimization and prioritization: a case study on an industrial system", Software Testing, Verification and Reliability, vol. 25, pp. 371-396, 2015.
Downloads
Published
How to Cite
Issue
Section
License

This work is licensed under a Creative Commons Attribution 4.0 International License.
Authors contributing to this journal agree to publish their articles under the Creative Commons Attribution 4.0 International License, allowing third parties to share their work (copy, distribute, transmit) and to adapt it, under the condition that the authors are given credit and that in the event of reuse or distribution, the terms of this license are made clear.
