Now showing 1 - 3 of 3
  • Publication
    Efficient performance testing of Java web applications through workload adaptation
    (University College Dublin. School of Computer Science, 2019)
    Performance testing is a critical task to ensure an acceptable user experience with software systems, especially when there are high numbers of concurrent users. Selecting an appropriate test workload is a challenging and time-consuming process that relies heavily on the testers’ expertise. Not only are workloads application-dependent, but it is usually also unclear how large a workload must be to expose any performance issues that exist in an application. Previous research has proposed to dynamically adapt the test workloads in real-time, based on the application’s behavior. Workload adaptation claims to decrease the effort and expertise required to carry out performance testing, by reducing the need for trial-and-error test cycles (which occur when using static workloads). However, such approaches usually require testers to properly configure many parameters. This is cumbersome and hinders the usability and effectiveness of the approach, as a poor configuration, due to the use of inadequate test workloads, could lead to problems being overlooked. To address this problem, this thesis outlines and explains essential steps to conduct efficient performance testing using a dynamic workload adaptation approach, and examines the different factors influencing its performance. This research conducts a comprehensive evaluation of one of such approach to derive insights for practitioners w.r.t. how to fine-tune the process in order to obtain better outcomes based on different scenarios, as well as discuss the effects of varying its configuration, and how this can affect the results obtained. Furthermore, a novel tool was designed to improve the current implementation for dynamic workload adaptation. This tool is built on top of JMeter and aims to help advance research and practice in performance testing, using dynamic workload adaptation.
      115
  • Publication
    DYNAMOJM: A JMeter Tool for Performance Testing Using Dynamic Workload Adaptation
    Performance testing is a critical task to assure optimal experience for users, especially when there are high loads of concurrent users. JMeter is one of the most widely used tools for load and stress testing. With JMeter, it is possible to test the performance of static and dynamic resources on the web. This paper presents DYNAMOJM, a novel tool built on top of JMeter that enables testers to create a dynamic workload for performance testing. This tool implements the DYNAMO approach, which has proven useful to find performance issues more efficiently than static testing techniques.
      189
  • Publication
    Towards an Efficient Performance Testing Through Dynamic Workload Adaptation
    Performance testing is a critical task to ensure an acceptable user experience with software systems, especially when there are high numbers of concurrent users. Selecting an appropriate test workload is a challenging and time-consuming process that relies heavily on the testers’ expertise. Not only are workloads application-dependent, but also it is usually unclear how large a workload must be to expose any performance issues that exist in an application. Previous research has proposed to dynamically adapt the test workloads in real-time based on the application behavior. By reducing the need for the trial-and-error test cycles required when using static workloads, dynamic workload adaptation can reduce the effort and expertise needed to carry out performance testing. However, such approaches usually require testers to properly configure several parameters in order to be effective in identifying workload-dependent performance bugs, which may hinder their usability among practitioners. To address this issue, this paper examines the different criteria needed to conduct performance testing efficiently using dynamic workload adaptation. We present the results of comprehensively evaluating one such approach, providing insights into how to tune it properly in order to obtain better outcomes based on different scenarios. We also study the effects of varying its configuration and how this can affect the results obtained.
      132