Exploratory Performance Testing Using Reinforcement Learning

Research output: Chapter in Book/Conference proceedingConference contributionScientificpeer-review

11 Citations (Scopus)
105 Downloads (Pure)

Abstract

Performance bottlenecks resulting in high response times and low throughput of software systems can ruin the reputation of the companies that rely on them. Almost two-thirds of performance bottlenecks are triggered on specific input values. However, finding the input values for performance test cases that can identify performance bottlenecks in a large-scale complex system within a reasonable amount of time is a cumbersome, cost-intensive, and time-consuming task. The reason is that there can be numerous combinations of test input values to explore in a limited amount of time. This paper presents PerfXRL, a novel approach for finding those combinations of input values that can reveal performance bottlenecks in the system under test. Our approach uses reinforcement learning to explore a large input space comprising combinations of input values and to learn to focus on those areas of the input space which trigger performance bottlenecks. The experimental results show that PerfxRL can detect 72% more performance bottlenecks than random testing by only exploring the 25% of the input space.

Original languageUndefined/Unknown
Title of host publicationIEEE 45th Euromicro Conference on Software Engineering and Advanced Applications
PublisherIEEE
Pages156–163
ISBN (Print)978-1-7281-3285-3
DOIs
Publication statusPublished - 2019
MoE publication typeA4 Article in a conference publication
EventEuromicro Conference on Software Engineering and Advanced Applications - Software Engineering and Advanced Applications
Duration: 1 Jan 2019 → …

Conference

ConferenceEuromicro Conference on Software Engineering and Advanced Applications
Period01/01/19 → …

Keywords

  • Artificial neural networks
  • Performance testing
  • Reinforcement Learning
  • Test data generation

Cite this