Abstract
Regression testing plays an important role in software development process. The more mature software system development is, the greater the proportion of regression testing during software life cycle takes. To this point, test case prioritization techniques are proposed to detect more faults as early as possible and improve the effectiveness of regression testing. However, it is often performed in a time constrained execution environment. This paper introduces a new method of time-aware test case prioritization. First of all, it takes advantage of the cuckoo search algorithm to reorder test suite. Then, integer linear programming model is employed to test selection in light of time budget. At last, a novel fitness function is designed focusing on code coverage that from method-call information perspective. Experimental results show that our method improves the effectiveness of fault detection compared with traditional fault detection techniques especially time is constrained.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Elbaum, S., Malishevsky, A.G., Rothermel, G.: Test case prioritization: a family of empirical studies. IEEE Trans. Softw. Eng. 28(2), 159–182 (2002)
Li, Z., Harman, M., Hierons, R.M.: Search algorithms for regression test case prioritization. Acta Paediatrica 33(4), 225–237 (2007)
Walcott, K.R., Soffa, M.L., Kapfhammer, G.M.: Time aware test suite prioritization. In: ACM/SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2006, Portland, Maine, USA, July, DBLP, pp. 1–12 (2006)
Yang, X.S., Deb, S.: Cuckoo search via levey flights. In: World Congress on Nature & Biologically Inspired Computing, pp. 210–214. IEEE Xplore (2010)
Yang, X.S., Deb, S.: Multi-objective cuckoo search for design optimization. Comput. Oper. Res. 40(6), 1616–1624 (2013)
Nagar, R., Kumar, A., Singh, G.P.: Test case selection and prioritization using cuckoos search algorithm. In: International Conference on Futuristic Trends on Computational Analysis and Knowledge Management, pp. 283–288. IEEE (2015)
Srivastava, P.R., Reddy, D.V.P.K., Reddy, M.S.: Test case prioritization using cuckoo search. Adv. Autom. Softw. Test. Framew. Refin. Pract. 28(2), 159–182 (2012)
Rothermel, G., Untch, R.H., Chu, C.: Prioritizing test cases for regression testing. IEEE Trans. Softw. Eng. 27(10), 929–948 (2001)
Elbaum, S., Malishevsky, A.G., Rothermel, G.: Prioritizing test cases for regression testing. In: ACM (2000)
Elbaum, S., Malishevsky, A.G., Rothermel, G.: Incorporating varying test costs and fault severities into test case prioritization. In: ICSE, pp. 329–338. IEEE Computer Society (2001)
Islam, M.M., Marchetto, A., Susi, A.: A multi objective technique to prioritize test cases based on latent semantic indexing. In: Proceedings 16th European Conference Software Maintenance and Reengineering, pp. 21–30 (2012)
Saini, A., Tyagi, S.: MTCPA: multi-objective test case prioritization algorithm using genetic algorithm. In: International Journal of Advanced Research in Computer Science and Software Engineering (2015)
Schultz, M., Radloff, M.: Test case prioritization using multi objective particle swarm optimizer. In: International Conference on Signal Propagation and Computer Technology, pp. 390–395. IEEE (2014)
Alves, E.L., Machado, P.D., Massoni, T., Kim, M.: Prioritizing test cases for early detection of refactoring faults. Softw. Test. Verif. Reliab. 26, 402–426 (2016)
Eghbali, S., Tahvildari, L.: Test case prioritization using lexicographical ordering. IEEE Trans. Softw. Eng. 42(12), 1178–1195 (2016)
Lachmann, R., Schulze, S., Nieke, M.: System-level test case prioritization using machine learning. In: IEEE International Conference on Machine Learning and Applications, pp. 361–368. IEEE (2017)
Kim, J., Jeong, H., Lee, E.: Failure history data-based test case prioritization for effective regression test. In: Symposium on Applied Computing, pp. 1409–1415. ACM (2017)
Zhang, L., Hou, S.S., Guo, C.: Time-aware test-case prioritization using integer linear programming. In: Eighteenth International Symposium on Software Testing and Analysis, ISSTA 2009, Chicago, IL, USA, pp. 213–224 (2009)
Time.pl:a tool to collect timings. http://sir.unl.edu/content/tools.php
Do, H., Elbaum, S., Rothermel, G.: Supporting controlled experimentation with testing techniques: an infrastructure and its potential impact. Empir. Softw. Eng. 10, 405–435 (2005)
Roubtsov, V.: EMMA: a free Java code coverage tool. http://emma.sourceforge.net/
Acknowledge
This work is supported by the National Natural Science Foundation of China under grant No. 61572306 and No. 61502294, the CERNET Innovation Project under Grant No. NGII20170513, and the Youth Foundation of Shanghai Polytechnic University under Grant No. EGD18XQD01.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 ICST Institute for Computer Sciences, Social Informatics and Telecommunications Engineering
About this paper
Cite this paper
Wong, Y., Zeng, H., Miao, H., Gao, H., Yang, X. (2019). The Cuckoo Search and Integer Linear Programming Based Approach to Time-Aware Test Case Prioritization Considering Execution Environment. In: Gao, H., Wang, X., Yin, Y., Iqbal, M. (eds) Collaborative Computing: Networking, Applications and Worksharing. CollaborateCom 2018. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, vol 268. Springer, Cham. https://doi.org/10.1007/978-3-030-12981-1_51
Download citation
DOI: https://doi.org/10.1007/978-3-030-12981-1_51
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-12980-4
Online ISBN: 978-3-030-12981-1
eBook Packages: Computer ScienceComputer Science (R0)