Abstract
Software testing is an indispensable part in software development to ensure the quality of products. Multi-objective test data generation is a sub-area of search-based software testing, which focuses on automatically generating test data to form high quality test suites. Due to the limited data representation and the lack of specific multi-objective optimization methods, existing approaches have drawbacks in dealing with real-world programs. This paper presents a new approach to multi-objective test data generation problems using genetic programming (GP), while two genetic algorithm (GA) based approaches are also implemented for comparison purposes. Furthermore, three multi-objective optimization frameworks are used and compared to examine the performance of the GP-based methods. Experiments have been conducted on two types of test data generation problems: integer and double. Each consists of 160 benchmark programs with different degrees of nesting. The results suggest that the new GP approaches perform much better than the two GA-based approaches, and a random search baseline algorithm.
Keywords
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Afzal, W., Torkar, R., Feldt, R.: A systematic review of search-based testing for non-functional system properties. Inf. Softw. Technol. 51(6), 957–976 (2009)
Aleti, A., Grunske, L.: Test data generation with a kalman filter-based adaptive genetic algorithm. J. Syst. Softw. 103, 343–352 (2015)
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)
Ferrer, J., Chicano, F., Alba, E.: Benchmark generator for software testers. In: Iliadis, L., Maglogiannis, I., Papadopoulos, H. (eds.) AIAI/EANN -2011. IAICT, vol. 364, pp. 378–388. Springer, Heidelberg (2011). doi:10.1007/978-3-642-23960-1_45
Ferrer, J., Chicano, F., Alba, E.: Evolutionary algorithms for the multi-objective test data generation problem. Softw.: Pract. Exp. 42(11), 1331–1362 (2012)
Galler, S.J., Aichernig, B.K.: Survey on test data generation tools. Int. J. Softw. Tools Technol. Transfer 16(6), 727–751 (2014)
Ghiduk, A.S., Harrold, M.J., Girgis, M.R.: Using genetic algorithms to aid test-data generation for data-flow coverage. In: 14th Asia-Pacific Software Engineering Conference, APSEC 2007, pp. 41–48. IEEE (2007)
Harman, M., Jia, Y., Langdon, W.B.: Strong higher order mutation-based test data generation. In: Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, pp. 212–222. ACM (2011)
Harman, M., Jia, Y., Zhang, Y.: Achievements, open problems and challenges for search based software testing. In: IEEE 8th International Conference on Software Testing, Verification and Validation (ICST), pp. 1–12. IEEE (2015)
Koza, J.R.: Introduction to genetic programming tutorial: from the basics to human-competitive results. In: Proceedings of the 12th Annual Conference Companion on Genetic and Evolutionary Computation, pp. 2137–2262. ACM (2010)
Lakhotia, K., Harman, M., McMinn, P.: A multi-objective approach to search-based test data generation. In: Proceedings of the 9th Annual Conference on Genetic and Evolutionary Computation, pp. 1098–1105. ACM (2007)
Nebro, A.J., Durillo, J.J., Luna, F., Dorronsoro, B., Alba, E.: Mocell: a cellular genetic algorithm for multiobjective optimization. Int. J. Intell. Syst. 24(7), 726–746 (2009)
Oster, N., Saglietti, F.: Automatic test data generation by multi-objective optimisation. In: Górski, J. (ed.) SAFECOMP 2006. LNCS, vol. 4166, pp. 426–438. Springer, Heidelberg (2006). doi:10.1007/11875567_32
Pinto, G.H., Vergilio, S.R.: A multi-objective genetic algorithm to test data generation. In: 2010 22nd IEEE International Conference on Tools with Artificial Intelligence (ICTAI), vol. 1, pp. 129–134. IEEE (2010)
Sahin, O., Akay, B.: Comparisons of metaheuristic algorithms and fitness functions on software test data generation. Appl. Soft Comput. 49, 1202–1214 (2016)
Tracey, N.J.: A search-based automated test-data generation framework for safety-critical software. Ph.D. thesis, Citeseer (2000)
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 (2010)
Zitzler, E., Laumanns, M., Thiele, L., Zitzler, E., Zitzler, E., Thiele, L., Thiele, L.: SPEA2: improving the strength Pareto evolutionary algorithm (2001)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Huo, J., Xue, B., Shang, L., Zhang, M. (2017). Genetic Programming for Multi-objective Test Data Generation in Search Based Software Testing. In: Peng, W., Alahakoon, D., Li, X. (eds) AI 2017: Advances in Artificial Intelligence. AI 2017. Lecture Notes in Computer Science(), vol 10400. Springer, Cham. https://doi.org/10.1007/978-3-319-63004-5_14
Download citation
DOI: https://doi.org/10.1007/978-3-319-63004-5_14
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-63003-8
Online ISBN: 978-3-319-63004-5
eBook Packages: Computer ScienceComputer Science (R0)