An Event-Driven Framework for Behaviour-Based Regression Testing Using Reinforcement Learning in Complex Software System

Document Type : Original Article

Authors

1 Department of Computer Engineering, Arv.C., Islamic Azad University, Abadan, Iran. Email: Ma.nooraei@iau.ac.ir

2 Msc, Department of Computer Engineering, Arv.C., Islamic Azad University, Abadan, Iran. Email: hosseinshidelzade77@gmail.com

Abstract

In modern software systems characterized by high complexity and dynamic behavior, behavior-based regression testing plays a crucial role in ensuring reliability following system modifications. This paper presents a novel event-driven framework for behavior-oriented regression testing that leverages reinforcement learning to optimize test selection. The proposed architecture models the system's behavior as sequences of events extracted from logs and interactions, enabling a learning agent to derive effective policies for identifying behavioral anomalies and regressions based on environmental feedback. The framework is implemented within a simulated environment, and experimental results demonstrate its superiority over traditional approaches by reducing test costs and improving the precision of critical regression detection. This study introduces an innovative approach to automated software testing and highlights the role of reinforcement learning in enhancing the quality and stability of complex systems.

Keywords

Main Subjects


  1. Khatibsyarbini, M., et al., Test case prioritization approaches in regression testing: A systematic literature review. Information and Software Technology, 2018. 93: p. 74-93. DOI: 10.1016/j.infsof.2017.08.014
  2. Bagherzadeh, M., N. Kahani, and L. Briand, Reinforcement learning for test case prioritization. IEEE Transactions on Software Engineering, 2021. 48(8): p. 2836-2856. DOI: 10.1109/TSE.2021.3070549
  3. Bryce, R.C., S. Sampath, and A.M. Memon, Developing a single model and test prioritization strategies for event-driven software. IEEE Transactions on Software Engineering, 2010. 37(1): p. 48-64. DOI: 10.1109/TSE.2010.12
  4. Lu, Y., et al. How does regression test prioritization perform in real-world software evolution? in Proceedings of the 38th International Conference on Software Engineering. 2016. DOI: 10.1145/2884781.288487
  5. Saha, R.K., et al. An information retrieval approach for regression test prioritization based on program changes. in 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering. 2015. IEEE. DOI: 10.1109/ICSE.2015.47
  6. Yoo, S. and M. Harman, Regression testing minimization, selection and prioritization: a survey. Software testing, verification and reliability, 2012. 22(2): p. 67-120. DOI:10.1002/stvr.430.
  7. Gupta, A. and R.P. Mahapatra, Test case generation and history data analysis during optimization in regression testing: An NLP study. Cogent Engineering, 2023. 10(2): p. 2276495. DOI: 10.1080/23311916.2023.2276495.
  8. Sutton, R.S. and A.G. Barto, Reinforcement learning: An introduction. 2018: MIT press.
  9. Foerster, J., et al. Stabilising experience replay for deep multi-agent reinforcement learning. in International conference on machine learning. 2017. PMLR.
  10. Li, S.E., Deep reinforcement learning, in Reinforcement learning for sequential decision and optimal control. 2023, Springer. p. 365-402. DOI: 10.1007/978-981-19-7784-8.
  11. Plaat, A., Deep reinforcement learning. Vol. 10. 2022: Springer. DOI: 10.1007/978-981-19-0638-1.
  12. Barto, A.G., Reinforcement Learning: An Introduction. By Richard’s Sutton. SIAM Rev, 2021. 6(2): p. 423. DOI: 10.1137/21N975254 .
  13. Degott, C., N.P. Borges Jr, and A. Zeller. Learning user interface element interactions. in Proceedings of the 28th ACM SIGSOFT international symposium on software testing and analysis. 2019. DOI:10.1145/3293882.3330569.
  14. Hemmati, H., et al., Prioritizing manual test cases in rapid release environments: Prioritizing manual test cases in rapid release environments [J]. Software Testing, Verification and Reliability, 2017. 27. DOI: 10.1002/stvr.1609.
  15. Pan, R., et al., Test case selection and prioritization using machine learning: a systematic literature review. Empirical Software Engineering, 2022. 27(2): p. 29. DOI: 10.1007/s10664-021-10066-6.
  16. Lousada, J. and M. Ribeiro, Reinforcement learning for test case prioritization. arXiv preprint arXiv:2012.11364, 2020. DOI: 10.48550/arXiv.2012.11364.
  17. Lenz, A.R., A. Pozo, and S.R. Vergilio, Linking software testing results with a machine learning approach. Engineering Applications of Artificial Intelligence, 2013. 26(5-6): p. 1631-1640. DOI: 10.1016/j.engappai.2013.01.008.
CAPTCHA Image