A goal of performance testing is to find performance problems,
when an application under test (AUT) unexpectedly
exhibits worsened characteristics for a specific workload
[1], [2]. For example, effective test cases for load testing,
which is a variant of performance testing, find situations
where an AUT suffers from unexpectedly high response
time or low throughput [3], [4]. Test engineers construct
performance test cases, and these cases include actions (e.g.,
interacting with GUI objects or invoking methods of exposed
interfaces) as well as input test data for the parameters of
these methods or GUI objects [5]. It is difficult to construct
effective performance test cases that can find performance
problems in a short period of time, since it requires test
engineers to test many combinations of actions and data for
nontrivial applications.