计算机科学
机器学习
软件可靠性测试
软件
稳健性(进化)
人工智能
软件性能测试
神经进化
软件建设
软件质量
回归检验
过程(计算)
水准点(测量)
非回归检验
软件系统
人工神经网络
软件开发
操作系统
生物化学
大地测量学
地理
化学
基因
作者
Daniel Zimmermann,Patrick Deubel,Anne Koziolek
标识
DOI:10.1109/asew60602.2023.00021
摘要
As software systems become increasingly complex, testing has become an essential component of the development process to ensure the quality of the final product. However, manual testing can be costly and time-consuming due to the need for human intervention. This constrains the number of test cases that can be run within a given timeframe and, as a result, limits the ability to detect defects in software in a timely manner. Automated testing, on the other hand, can reduce the cost and time associated with testing, but traditional approaches have limitations. These include the inability to thoroughly explore the entire state space of software or process the high-dimensional input space of graphical user interfaces (GUIs). In this study, we propose a new approach for automated GUI-based software testing utilizing neuroevolution (NE), a branch of machine learning that employs evolutionary algorithms to train artificial neural networks with multiple hidden layers of neurons. NE offers a scalable alternative to established deep reinforcement learning methods and provides higher robustness to parameter influences and improved handling of sparse rewards. The agents are trained to explore software and identify errors while being rewarded for high test coverage. We evaluate our approach using a realistic benchmark software application and compare it to monkey testing, a widely adopted automated software testing method.
科研通智能强力驱动
Strongly Powered by AbleSci AI