Showing posts with label Performance/Scalability. Show all posts
Showing posts with label Performance/Scalability. Show all posts

July 04, 2011

Load Testing Tools

A short list of tools for load testing:
  • BrowserMob – Free Load Testing Tool
    BrowserMob uses real browser users for website load testing, providing better AJAX support, clearer reporting of errors and an experience that more accurately mimics that of the real user. Run concurrent tests on your website with real browsers, not simply HTTP requests, and catch errors that other low cost providers miss.
  • The Grinder – Generic Jython Load Tester
    The Grinder uses the Java implementation of Python (Jython), which is a script-only, feature rich load testing platform. It is possibly the most powerful lightweight free load testers on the market, but also the most difficult to master. No GUI to speak of, very little in the way of examples, but it has a terrific FAQ. It isn't useful for front end automation, but otherwise The Grinder is flexible and infinitely useful if you can master it. This is the programmer's preferred load testing tool.
  • JMeter – Graphical Load Tester
    JMeter, the most downloaded free load testing software on the planet. It has a GUI written in Java, which means you can use it on just about any operating system, so your testing is truly portable. It has a flexible scripting language, as well as plugins for all sorts of strange test scenarios. Best of all, it is one of the most completely documented load testing applications out there, with ample tutorials and great community support. It is useful for just about every test type you'll eventually run into.
  • OpenSTA - HTTP and HTTPS Heavy Load Tester
    OpenSTA is one of the most flexible load testing tools on the market today. Not only can it use recorded scripts and play them back, but it can convert the recorded macro into a powerful script that is easily edited and injected as a hypertext stream. OpenSTA is therefore best of both worlds, and is suitable for just about every form of load testing.
  • SOASTA – Cloud Testing
    SOASTA leverages the cloud to offer on-demand load & performance testing, enabling you to test the real-world performance of your web apps. This functional testing can either be in separate from SOASTA’s load testing runs, or performed while an app is under simulated load to test how it works under pressure.

June 30, 2011

Server-based Load Testing Metrics

Following is the list of few server-based load testing metrics:
  • Number of users and/or sessions
  • Average session time
  • Number of page views
  • Average page views per session
  • Peak period
  • Number of hits
  • Average page size
  • Most requested pages
  • Average time spent on page
  • New users vs. returning users
  • Frequency of visits (e.g., 75% of users made one visit)
  • Demographics
  • Browser, browser version, Java script support, Java script enable/disable, etc.

June 28, 2011

Load Testing

Load testing terms and scenarios:
  • Software Stress Testing: Determine where the software begins to break down under extreme load.
  • Hardware Stress Testing: Similar to software stress testing, this procedure performed to determine where a benchmarked set of hardware starts to break down under extreme load. A company, in this instance, seeks to ensure that their system is robust under normal usage.
  • Soak Testing: This is a simulation that often takes place over the course of days or weeks that tests for performance degradation caused by things like slow memory leaks or even something as simple as hardware fatigue or subpar hosting conditions. It focuses on long-term usage.
  • Spike Testing: This is performed to determine scalability under a sudden increase in load. The ability of an application to shift gears and go from handling a moderate number of users efficiently, to handling a large number of users adequately is of course very important.
  • Configuration Testing: Compared relative performance based on sets of server parameters. If a company is unsure of what hardware and software options are best for their application, they can run a series of tests with the exact same user load, and monitor the relative performance in each scenario.
  • Platform Testing: Tests end-user functionality on a broad spectrum of hardware and software. This allows to test software's front end under a wide variety of hardware and software configurations. This helps to determine software's requirements, which can be published as suggested minimum configuration.