TSE2015_ASurveyOnLoadTestingOfLarge-ScaleSoftwareSystems.pdf...

  • No School
  • AA 1
  • angelidulin
  • 29

This preview shows page 1 - 3 out of 29 pages.

See discussions, stats, and author profiles for this publication at: A Survey on Load Testing of Large-Scale Software Systems Article in IEEE Transactions on Software Engineering · November 2015 DOI: 10.1109/TSE.2015.2445340 CITATIONS 41 READS 1,892 2 authors , including: Some of the authors of this publication are also working on these related projects: Bounties on Technical Q&A Sites: A Case Study of Stack Overflow Bounties View project Mining Online Gaming Stores View project Ahmed E. Hassan Queen's University 388 PUBLICATIONS 9,847 CITATIONS SEE PROFILE All content following this page was uploaded by Ahmed E. Hassan on 19 July 2016. The user has requested enhancement of the downloaded file.
Image of page 1
A Survey on Load Testing of Large-Scale Software Systems Zhen Ming Jiang, Member, IEEE and Ahmed E. Hassan, Member, IEEE Abstract— Many large-scale software systems must service thousands or millions of concurrent requests. These systems must be load tested to ensure that they can function correctly under load (i.e., the rate of the incoming requests). In this paper, we survey the state of load testing research and practice. We compare and contrast current techniques that are used in the three phases of a load test: (1) designing a proper load, (2) executing a load test, and (3) analyzing the results of a load test. This survey will be useful for load testing practitioners and software engineering researchers with interest in the load testing of large-scale software systems. Index Terms— Software testing, load testing, software quality, large-scale software systems, survey Ç 1 I NTRODUCTION M ANY large-scale systems ranging from e-commerce websites to telecommunication infrastructures must support concurrent access from thousands or millions of users. Studies show that failures in these systems tend to be caused by their inability to scale to meet user demands, as opposed to feature bugs [1], [2]. The failure to scale often leads to catastrophic failures and unfavorable media coverage (e.g., the meltdown of the Firefox website [3], the botched launch of Apple’s MobileMe [4] and US Government’s Health Care Website [5]). To ensure the qual- ity of these systems, load testing is a required testing procedure in addition to conventional functional testing procedures, like unit testing and integration testing. This paper surveys the state of research and practices in the load testing of large-scale software systems. This paper will be useful for load testing practitioners and software engineering researchers with interests in testing and analyz- ing large-scale software systems. Unlike functional testing, where we have a clear objective (pass/fail criteria), load testing can have one or more functional and non-functional objectives as well as different pass/fail criteria. As illus- trated in Fig. 1, we propose the following three research questions on load testing based on the three phases of tradi- tional software testing (test design, test execution and test analysis [6]): 1) How is a proper load designed? The Load Design phase
Image of page 2
Image of page 3

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture