An Autonomous Performance Testing Framework using Self-Adaptive Fuzzy Reinforcement Learning
This addresses the problem of automating performance testing for software developers when source code or models are unavailable, though it appears incremental as it builds on existing reinforcement learning and fuzzy logic techniques.
The authors tackled the challenge of automating performance testing without requiring source code or system models by proposing SaFReL, a self-adaptive fuzzy reinforcement learning framework; experiments in a simulated environment showed it generates target performance test cases more efficiently than typical processes.
Test automation brings the potential to reduce costs and human effort, but several aspects of software testing remain challenging to automate. One such example is automated performance testing to find performance breaking points. Current approaches to tackle automated generation of performance test cases mainly involve using source code or system model analysis or use-case based techniques. However, source code and system models might not always be available at testing time. On the other hand, if the optimal performance testing policy for the intended objective in a testing process instead could be learned by the testing system, then test automation without advanced performance models could be possible. Furthermore, the learned policy could later be reused for similar software systems under test, thus leading to higher test efficiency. We propose SaFReL, a self-adaptive fuzzy reinforcement learning-based performance testing framework. SaFReL learns the optimal policy to generate performance test cases through an initial learning phase, then reuses it during a transfer learning phase, while keeping the learning running and updating the policy in the long term. Through multiple experiments on a simulated environment, we demonstrate that our approach generates the target performance test cases for different programs more efficiently than a typical testing process, and performs adaptively without access to source code and performance models.