论文标题
强化学习协助负载测试生成用于电子商务应用程序
Reinforcement Learning Assisted Load Test Generation for E-Commerce Applications
论文作者
论文摘要
背景:最终用户满意度不仅取决于软件系统的正确功能,而且还在很大程度上取决于这些功能的执行程度。因此,性能测试在确保系统响应执行缩进功能方面起着至关重要的作用。负载测试生成是性能测试中的至关重要活动。现有的负载测试生成方法需要在性能建模方面的专业知识,或者它们取决于系统模型或源代码。 目的:本文旨在提出和评估一种基于无模型的学习方法的方法,该方法不需要访问系统模型或源代码。 方法:在本文中,我们将最佳负载测试生成的问题视为增强学习(RL)问题。我们使用Q学习和深Q-NETWORK提出了两种基于RL的方法,以生成负载测试。此外,我们证明了测试人员在现实世界软件系统上的适用性。最后,我们进行了一个实验,将我们提出的方法的效率比较了随机负载测试生成方法和基线方法。 结果:实验的结果表明,基于RL的方法学会了以较小尺寸和更少的步骤生成有效的工作负载。提出的方法比随机和基线方法提高了效率。 结论:根据我们的发现,我们得出的结论是,基于RL的试剂可用于负载测试,并且它们的作用比随机和基线方法更有效。
Background: End-user satisfaction is not only dependent on the correct functioning of the software systems but is also heavily dependent on how well those functions are performed. Therefore, performance testing plays a critical role in making sure that the system responsively performs the indented functionality. Load test generation is a crucial activity in performance testing. Existing approaches for load test generation require expertise in performance modeling, or they are dependent on the system model or the source code. Aim: This thesis aims to propose and evaluate a model-free learning-based approach for load test generation, which doesn't require access to the system models or source code. Method: In this thesis, we treated the problem of optimal load test generation as a reinforcement learning (RL) problem. We proposed two RL-based approaches using q-learning and deep q-network for load test generation. In addition, we demonstrated the applicability of our tester agents on a real-world software system. Finally, we conducted an experiment to compare the efficiency of our proposed approaches to a random load test generation approach and a baseline approach. Results: Results from the experiment show that the RL-based approaches learned to generate effective workloads with smaller sizes and in fewer steps. The proposed approaches led to higher efficiency than the random and baseline approaches. Conclusion: Based on our findings, we conclude that RL-based agents can be used for load test generation, and they act more efficiently than the random and baseline approaches.