Abstract
Regression testing is an expensive procedure that is implemented during maintenance phase of the Software Development Life Cycle of evolving software. During this process, test case prioritization is one of the strategies followed in which test cases are organized in a fashion so as to enhance efficiency in achieving some performance goal. During the process, there could be several aspects to be kept in mind due to resources constraints such as fault severity detected per unit of test cost, severity detection per test case execution, and execution time of test cases to detect all the faults. Keeping all such constraints in mind, the test case prioritization problem becomes a multi-objective problem where some of the objectives have to be maximized and the remaining ones minimized. In this study, experiments were performed on different versions of five web applications. The problem instance was found to vary from 5 \(\times \) 5 test cases versus fault matrix, to 125 \(\times \) 125 matrix. Random approach, 2-opt algorithm, improved 2-opt algorithm, greedy approach, additional greedy approach, Weighted Genetic Algorithm and Non-dominated Sorting Genetic Algorithm-II (NSGA-II) were applied to a generate prioritized test sequence which maximizes the Cost Cognizant Average Percentage of Fault Detection value, severity detection and minimizes test case execution cost to expose all the faults. The performances of these algorithms are compared, keeping these parameters in mind, and it is concluded that the performance of NSGA-II algorithm is better than that of all the other tested algorithms throughout all the experiments.
Article PDF
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
References
Ahmadon; M.A.B.; Yamaguchi, S.; Gupta, B.B.: A Petri-net based approach for software evolution. In: Information and Communication Systems (ICICS), 7th International Conference on. IEEE (2016)
Jararweh, Y.; Alsmirat, M.; Al-Ayyoub, M.; Benkhelifa, E.; Darabseh, A.; Gupta, B.; Doulat, A.: Software-defined system support for enabling ubiquitous mobile edge computing. Comput. J. (2017). doi:10.1093/comjnl/bxx019
Gupta, S.; Gupta, B.B.: Defense mechanism for HTML5-based web applications against JavaScript code injection vulnerabilities. Secur. Commun. Netw. 9(11), 1477–1495 (2016)
Gupta, B.; Agrawal, D.P.; Yamaguchi, S.: Handbook of research on modern cryptographic solutions for computer and cyber security. In: IGI Global (2016)
Mathur, A.: Foundations of Software Testing, Seventh Impression, Pearson Education (2012)
Chauhan, N.: Software Testing Principles and Practices, 1st edn. Oxford University Press, Oxford (2010)
Singh, Y.: Software Testing, 1st edn. Cambridge University Press, Cambridge (2012)
Rothermal, G.; Untch, R.; Harrold, M.: Prioritizing test cases for regression testing. IEEE Trans. Softw. Eng. 27(10), 929–948 (2001)
Malishevsky, A.G.; Ruthruff, J.R.; Rothermel, G.; Elbaum, S.: Cost-Cognizant Test Case Prioritization, Technical Report TR-UNL-CSE-2006-0004. Department of Computer Science and Engineering, University of Nebraska-Lincoln, Lincoln (2006)
Zhang, Y.; Harman, M.; Mansouri, S.: The multi-objective next release problem. In: GECCO’07. ACM, London (2007)
Ruiz, M.; Roderiguez, D.; Riquelme, J.; Harrison, R.: 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 (2011)
Wang, Z.; Tang, K.; Yao, X.: Multi-objective approaches to optimal testing resource allocation in modular software systems. IEEE Trans. Reliab. 59(3), 563–575 (2000)
Kavita, C.; Purohit, G.: A multiobjective optimization algorithm for uniformly distributed generation of test cases. In: IEEE International Conference on Computing for Sustainable Global Development (2014)
Mondal, D.; Hemmati, H.; Durocher, S.: Exploring test suite diversification and code coverage in multi-objective test case selection. In: IEEE Conference (2015)
Yoo, S.; Harman, M.: Pareto efficient multi-objective test case selection. In: ISSTA 2007. ACM, London (2007)
Marchetto, A.; Islam, M.; Scanniello, G.; Susi, A.: A multi-objective technique for test suite reduction. In: The Eighth International Conference on Software Engineering Advances. IARIA (2013)
Zheng, W.; Hierons, R.; Li, M.; Liu, X.; Vinciotti, V.: Multi-objective optimization for regression testing. Inf. Sci. 334–335, 1–16 (2016). doi:10.1016/j.ins.2015.11.027
Canfora, G.; Lucia, A.D.; Penta, M.D.; Oliveto, R.; Panichella, A.; Panichella, S.: Defect prediction as a multiobjective optimization problem. Softw. Test. Verif. Reliab. 25(4), 426–459 (2015)
Marchetto, A.; Islam, M.; Scanniello, G.; Asghar, W.; Susi, A.: A multi-objective technique to prioritize test cases. IEEE Trans. Software Eng. 42(10), 918–940 (2016). doi:10.1109/TSE.2015.2510633
Li, Z.; Harman, M.; Hierons, R.M.: Search algorithms for regression test case prioritization. IEEE Trans. Softw. Eng. 33(4), 225–237 (2007)
Fadaei, M.; Zandieh, M.: Scheduling a bi-objective hybrid flow shop with sequence-dependent family setup times using metaheuristics. Arab. J. Sci. Eng. 38(8), 2233–2244 (2013)
Mohanty, R.; Suman, S.; Das, S.K.: Modelling the pull-out capacity of ground anchors using multi-objective feature selection. Arab. J. Sci. Eng. 42(3), 1231–1241 (2017)
Ganesan, H.; MohanKumar, G.: Optimization of machining techniques in CNC turning centre using genetic algorithm. Arab. J. Sci. Eng. 38(6), 1529–1538 (2013)
Nopiah, Z.M.; Osman, M.H.; Abdullah, S.: Application of a multi-objective approach and sequential covering algorithm to the fatigue segment classification problem. Arab. J. Sci. Eng. 39(3), 2165–2177 (2014)
Visalakshi, S.; Baskar, S.: Multiobjective decentralized congestion management using modified NSGA-II. Arab. J. Sci. Eng 36, 827 (2011). doi:10.1007/s13369-011-0079-z
Soroudi, A.; Ehsan, M.: Application of a modified NSGA method for multi-objective static distributed generation planning. Arab. J. Sci. Eng. 36, 809 (2011). doi:10.1007/s13369-011-0077-1
Shapiai, M.I.; Ibrahim, Z.; Adam, A.: Pareto optimality concept for incorporating prior knowledge for system identification problem with insufficient samples. Arab. J. Sci. Eng. 42(7), 2697–2710 (2017)
Deb, K.; Pratap, A.; Agarwal, S.; Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. Evol. Comput. 6(2), 182–197 (2002)
Deb, K.: Multiobjective Optimization using Evolutionary Algorithms, 1st edn. Wiley India Pvt Ltd. (2010)
Nayak, S.; Kumar, C.; Tripathi, S.: Enhancing efficiency of the test case prioritization technique by improving the rate of fault detection. Arab. J. Sci. Eng. (2017). doi:10.1007/s13369-017-2466-6
Elbaum, S.; Rothermal, G.; Karre, S.; Fisher II, M.: Leveraging user-session data to support web application testing. IEEE Trans. Softw. Eng. 3(3), 187–202 (2005)
Elbaum, S.; Malishevsky, A.G.; Rothermal, G.: Test case prioritization; a family of empirical studies. IEEE Trans. Softw. Eng. 28(2), 159–182 (2002)
Hutchins, M.; Foster, H.; Goradia, T.; Ostrand, T.: Experiments on the effectiveness of dataflow and control flow based test adequacy criteria. In: International Conference Software Engineering, pp. 191–200 (1994)
Wong, W.; Horgan, J.; London, S.; Mathur, A.: Effect of test set minimization on fault detection effectiveness. In: Proceedings 17th International Conference on Software Engineering, pp. 41–50 (1995)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Khanna, M., Chauhan, N., Sharma, D. et al. Search for Prioritized Test Cases in Multi-Objective Environment During Web Application Testing. Arab J Sci Eng 43, 4179–4201 (2018). https://doi.org/10.1007/s13369-017-2830-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13369-017-2830-6