A novel tool for resource utilisation regression testing of JVM-based applications : a thesis presented in partial fulfilment of the requirements for the degree of Master of Science in Computer Science at Massey University, Manawatu, New Zealand
In recent years, automated regression testing with tools, like JUnit, has become a
cornerstone of modern software engineering practice. Automated testing focuses
on the functional aspects of software. Automated performance testing is less popular.
Where used, it is based on the principle of comparing measurements against
static thresholds representing parameters such as system runtime or memory usage.
This thesis presents an alternative approach to automatically generate test oracles
from system calibration runs. This approach is particularly useful to safeguard
the investment made when software is manually fine-tuned. A proof-ofconcept
tool was developed that works for all applications that can be deployed
on the Java Virtual Machine (JVM), and is capable of testing all properties that
can be accessed through Java Management Extensions (JMX) technology.