Abstract
In recent years, with the rapid development of artificial intelligence, reinforcement learning has made significant progress in various fields. However, there are still some challenges when applying reinforcement learning to solve problems in software engineering. The generation of class integration test orders is a key challenge in object-oriented program integration testing. Previous research mainly focused on static couplings and neglected dynamic couplings, leading to inaccurate cost measurement of class integration test orders. In this paper, we propose a reinforcement learning method to generate class integration test orders considering dynamic couplings. Firstly, the concept of dynamic couplings generated by polymorphism is introduced, and a strategy for measuring the stubbing complexity of simulating dynamic dependencies is proposed. Then, we combine this new stubbing complexity with a reinforcement learning method to generate class integration test orders and achieve the optimal result with minimal overall stubbing complexity. Comprehensive experiments show that our proposed approach outperforms other methods in measuring the cost of generating class integration test orders.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Vinyals, O., et al.: Grandmaster level in starcraft ii using multi-agent reinforcement learning. Nature 575(7782), 350–354 (2019)
Luong, N.C., et al.: Applications of deep reinforcement learning in communications and networking: a survey. IEEE Commun. Surv. Tutor. 21(4), 3133–3174 (2019)
Spieker, H., Gotlieb, A., Marijan, D., Mossige, M.: Reinforcement learning for automatic test case prioritization and selection in continuous integration. In: ACM SIGSOFT International Symposium on Software Testing and Analysis, pp. 12–22 (2017)
Sutton, R.S., Barto, A.G.: Reinforcement Learning: An Introduction. MIT press, Massachusetts (2018)
Czibula, G., Czibula, I.G., Marian, Z.: An effective approach for determining the class integration test order using reinforcement learning. Appl. Soft Comput. 65, 517–530 (2018)
Ding, Y., Zhang, Y., Shujuan, J., Yuan, G., Wang, R., Qian, J.: Generation method of class integration test order based on reinforcement learning (in Chinese). J. Softw. 33(5), 1674–1698 (2022)
Stopford, B.: Test-oriented languages: is it time for a new era? In: International Conference on Software Testing, Verification and Validation Workshops, pp. 444–449 (2011)
Hashim, N.L., Schmidt, H.W., Ramakrishnan, S.: Test order for class-based integration testing of java applications. In: International Conference on Quality Software, pp. 11–18 (2005)
Briand, L.C., Feng, J., Labiche, Y.: Using genetic algorithms and coupling measures to devise optimal integration test orders. In: International Conference on Software Engineering and Knowledge Engineering, pp. 43–50 (2002)
Labiche, Y., Thévenod-Fosse, P., Waeselynck, H., Durand, M.H.: Testing levels for object-oriented software. In: International Conference on Software Engineering, pp. 136–145 (2000)
Malloy, B.A., Clarke, P.J., Lloyd, E.L.: A parameterized cost model to order classes for class-based testing of c++ applications. In: International Symposium on Software Reliability Engineering, pp. 353–364 (2003)
Kraft, N.A., Lloyd, E.L., Malloy, B.A., Clarke, P.J.: The implementation of an extensible system for comparison and visualization of class ordering methodologies. J. Syst. Softw. 79(8), 1092–1109 (2006)
Bansal, P., Sabharwal, S., Sidhu, P.: An investigation of strategies for finding test order during integration testing of object oriented applications. In: International Conference on Methods and Models in Computer Science, pp. 1–8 (2009)
Zhang, Y., Jiang, S., Yuan, G., Ju, X., Zhang, H.: An approach of class integration test order determination based on test levels. Software: Pract. Exper. 45(5), 657–687 (2015)
Wang, Y., Zhu, Z., Yu, H., Yang, B.: Risk analysis on multi-granular flow network for software integration testing (in Chinese). IEEE Trans. Circuits-II 65(8), 1059–1063 (2017)
Meng, F., Wang, Y., Yu, H., Zhu, Z.: Devising optimal integration test orders using cost-benefit analysis. Front. Inform. Tech. El. 23(5), 692–714 (2022)
Kung, D.C., Gao, J., Hsia, P., Lin, J., Toyoshima, Y.: Class firewall, test order, and regression testing of object-oriented programs. J. Object-Oriented Prog. 8(2), 51–65 (1995)
Tai, K.C., Daniels, F.J.: Test order for inter-class integration testing of object-oriented software. In: International Computer Software and Applications Conference, pp. 602–607 (1997)
Le Traon, Y., Jéron, T., Jézéquel, J.M., Morel, P.: Efficient object-oriented integration and regression testing. IEEE Trans. Reliab. 49(1), 12–25 (2000)
Briand, L.C., Labiche, Y., Wang, Y.: Revisiting strategies for ordering class integration testing in the presence of dependency cycles. In: International Symposium on Software Reliability Engineering, pp. 287–296 (2001)
Wang, Z., Li, B., Wang, L., Li, Q.: An effective approach for automatic generation of class integration test order. In: Computer Software and Applications Conference, pp. 680–681 (2011)
Zhang, Y., Jiang, S., Ding, Y., Yuan, G., Liu, J., Lu, D., Qian, J.: Generating optimal class integration test orders using genetic algorithms. Int. J. Softw. Eng. Know. 32(06), 871–892 (2022)
Ogihara, M.: Interfaces, inheritance, and polymorphism, pp. 427–455. Springer International Publishing, Cham (2018)
He, D., Xu, J., Chen, X.: Information-theoretic-entropy based weight aggregation method in multiple-attribute group decision-making. Entropy 18(6), 171 (2016)
Watkins, C.J.C.H., Dayan, P.: Q-learning. Mach. Learn. 8(3–4), 279–292 (1992)
Acknowledgements
This work is supported by “the Fundamental Research Funds for the Central Universities” under grant No. 2022XSCX18.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.
About this paper
Cite this paper
Ding, Y., Zhang, Y., Yuan, G., Li, Y., Jiang, S., Dai, W. (2024). A Reinforcement Learning Method for Generating Class Integration Test Orders Considering Dynamic Couplings. In: Luo, B., Cheng, L., Wu, ZG., Li, H., Li, C. (eds) Neural Information Processing. ICONIP 2023. Lecture Notes in Computer Science, vol 14448. Springer, Singapore. https://doi.org/10.1007/978-981-99-8082-6_8
Download citation
DOI: https://doi.org/10.1007/978-981-99-8082-6_8
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-99-8081-9
Online ISBN: 978-981-99-8082-6
eBook Packages: Computer ScienceComputer Science (R0)