Abstract
Regression test plays a vital role in software testing by ensuring the quality and stability of the developed software. During regression test a large number of test cases are involved thus making the process expensive and difficult. In order to reduce the cost and time of regression test, test case prioritization is applied. However in real world scenario multiple testing criteria and constraint are evolved, such as to detect all faults within minimum time, and to detect most severe faults earlier. This takes the test case prioritization problem turn into multi-objective test case prioritization paradigm. In this paper an improved pareto-optimal clonal selection algorithm is proposed to generate test case order depending on three objective such as minimum execution time, maximum severity fault identification and cost-cognizant average percentage of fault detected. The experimental analysis is conducted over an industrial project with seven different versions for which the proposed approach generates scheduled test case order. And it is concluded that the performance of proposed approach is better than other tested algorithms like random approach, weighted genetic algorithm, greedy and NSGA-II.
Graphical Abstract
Similar content being viewed by others
References
Elbaum, S., Malishevsky, A. G., & Rothermal, G. (2002). Test case prioritization: a family of empirical studies. IEEE Transactions on Software Engineering, 28(2), 159–182.
Malishevsky, A. G., Ruthruff, J. R., Rothermel, G., & Elbaum, S. (2006). Cost-cognizant test case prioritization, technical report TRUNL-CSE-2006-0004. Department of Computer Science and Engineering, University of Nebraska-Lincoln, Lincoln.
Rothermal, G., Untch, R., & Harrold, M. (2001). Prioritizing test cases for regression testing. IEEE Transactions on Software Engineering, 27(10), 929–948.
Kavita, C., & Purohit, G. (2014). A multiobjective optimization algorithm for uniformly distributed generation of test cases. In IEEE international conference on computing for sustainable global development (2014).
Marchetto, A., Islam, M., Scanniello, G., Asghar, W., & Susi, A. (2016). A multi-objective technique to prioritize test cases. IEEE Transactions on Software Engineering, 42(10), 918–940. https://doi.org/10.1109/TSE.2015.2510633.
Mondal, D., Hemmati, H., & Durocher, S. (2015). Exploring test suite diversification and code coverage in multi-objective test case selection. In IEEE conference.
Yoo, S., & Harman, M. (2007) Pareto efficient multi-objective test case selection. In ISSTA 2007. London: ACM.
Yoo, S., & Harman, M. (2010). Using hybrid algorithm for pareto efficient multi-objective test suite minimisation. Journal of Systems and Software, 83(4), 689–701.
Krishnamoorthi, R., & Mary, S. S. A. (2009). Factor oriented requirement coverage based system test case prioritization of new and regression test cases. Information and Software Technology, 51(4), 799–808.
Catal, C., & Mishra, D. (2013). Test case prioritization: A systematic mapping study. Software Quality Journal, 21(3), 445–478.
Marchetto, A., Islam, M., Scanniello, G., & Susi, A. (2013). A multiobjective technique for test suite reduction. In The eighth international conference on software engineering advances. IARIA.
Zheng, W., Hierons, R., Li, M., Liu, X., & Vinciotti, V. (2016). Multiobjective optimization for regression testing. Information Sciences, 334–335, 1–16. https://doi.org/10.1016/j.ins.2015.11.027.
Mathur, A. (2012). Foundations of software testing, seventh impression. New York: Pearson Education.
Chauhan, N. (2010). Software testing principles and practices (1st ed.). Oxford: Oxford University Press.
Singh, Y. (2012). Software testing (1st ed.). Cambridge: Cambridge University Press.
Zhang, Y., Harman, M., & Mansouri, S. (2007). The multi-objective next release problem. In GECCO’07. London: ACM.
Ruiz, M., Roderiguez, D., Riquelme, J., & Harrison, R. (2011). Multiobjective simulation optimization in software project management. In Proceedings of the 13th annual conference on genetic and evolutionary computation GECCO 2011 (pp. 1883–1890). ACM.
Wang, Z., Tang, K., & Yao, X. (2000). Multi-objective approaches to optimal testing resource allocation in modular software systems. IEEE Transactions on Reliability, 59(3), 563–575.
Tulasiraman, M., & Kalimuthu, V. (2018). Cost Cognizant history based prioritization of test case for regression testing using immune algorithm. Journal of Intelligent Engineering Systems, 11(1), 221–228. https://doi.org/10.22266/ijies2018.0228.23.
Khanna, M., Chauhan, N., Sharma, D., Toofani, A., & Chaudhary, A. (2017). Search for prioritized test cases in multi-objective environment during web application testing. Arabian Journal for Science and Engineering, 43, 1–23.
Li, Z., Harman, M., & Hierons, R. M. (2007). Search algorithms for regression test case prioritization. IEEE Transactions on Software Engineering, 33(4), 225–237.
Shapiai, M. I., Ibrahim, Z., & Adam, A. (2017). Pareto optimality concept for incorporating prior knowledge for system identification problem with insufficient samples. Arabian Journal for Science and Engineering, 42(7), 2697–2710.
Deb, K., Pratap, A., Agarwal, S., & Meyarivan, T. (2002). A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Transactions on Evolutionary Computation, 6(2), 182–197.
Deb, K. (2010). Multiobjective optimization using evolutionary algorithms (1st ed.). New Delhi: Wiley India Pvt Ltd.
Nayak, S., Kumar, C., & Tripathi, S. (2017). Enhancing efficiency of the test case prioritization technique by improving the rate of fault detection. Arabian Journal for Science and Engineering. https://doi.org/10.1007/s13369-017-2466-6.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Tulasiraman, M., Vivekanandan, N. & Kalimuthu, V. Multi-objective Test Case Prioritization Using Improved Pareto-Optimal Clonal Selection Algorithm. 3D Res 9, 32 (2018). https://doi.org/10.1007/s13319-018-0182-y
Received:
Revised:
Accepted:
Published:
DOI: https://doi.org/10.1007/s13319-018-0182-y