Performance Testing
Posted on:  Oct 07, 2008

The goal of performance testing is not to find bugs, but to eliminate bottlenecks and establish a baseline for future regression testing. To conduct performance testing is to engage in a carefully controlled process of measurement and analysis. Ideally, the software under test is already stable enough so that this process can proceed smoothly.

For a Web application, user need to know at least two things:

 (1)expected load in terms of concurrent users or HTTP connections.

(2) acceptable response time Once user know where you want to be, you can start on your way there by constantly increasing the load on the system while looking for bottlenecks.

To take again the example of a Web application, these bottlenecks can exist at multiple levels, and to pinpoint them user can use a variety of tools. When the results of the load test indicate that performance of the system does not meet its expected goals, it is time for tuning, starting with the application and the database. User want to make sure that code runs as efficiently as possible and database is optimized on a given OS/hardware configurations.

Load Testing:

Load testing as a part of the process of performance testing and tuning. In that context, it meant constantly increasing the load on the system via automated tools. For a Web application, the load is defined in terms of concurrent users or HTTP connections. In the testing literature, the term "load testing" is usually defined as the process of exercising the system under test by feeding it the largest tasks it can operate with. Load testing is sometimes called volume testing, or longevity/endurance testing.

Examples of volume testing:

 (1) testing a mail server with thousands of users mailboxes

(2) testing a client-server application by running the client in a loop against the server over an extended period of time Although performance testing and load testing can seem similar, their goals are different.

On one hand, performance testing uses load testing techniques and tools for measurement and benchmarking purposes and uses various load levels. On the other hand, load testing operates at a predefined load level, usually the highest load that the system can accept while still functioning properly.

Note that load testing does not aim to break the system by overwhelming it, but instead tries to keep the system constantly humming like a well-oiled machine.

Stress Testing:

 Stress testing tries to break the system under test by overwhelming its resources or by taking resources away from it (in which case it is sometimes called negative testing). The main purpose behind this madness is to make sure that the system fails and recovers gracefully -- this quality is known as recoverability. Where performance testing demands a controlled environment and repeatable measurements, stress testing joyfully induces chaos and unpredictability.

To take again the example of a Web application, here are some ways in which stress can be applied to the system:

(1)double the baseline number for concurrent users/HTTP connections

(2)take the database offline, then restart it

(3) rebuild a RAID array while the system is running

(4)run processes that consume resources (CPU, memory, disk, network) on the Web and database servers

Resources: performance-vs-load-vs-stress-testing.html

   AddThis Feed Button
Reader's Comments
 Sep 15, 2009 at 15:00 PM
This is a nice post!
Post your comment
(*) marked fields are mandatory
Email Address:*
Website/Blog URL:

Security Code:*
Note: Comment Moderation has been enabled. Kindly bear with us till the blog administrator approves them to be published.
Follow us on Facebook Follow us on TwitterRSS Feed LinkedIn
 Recent Posts
Need for Channel Sales and Distribution Management System
Growing demand for Secondary Sales Trend Analysis amongst FMCG and similar companies
How well are you Leveraging Technology for Collaborating with Your Distribution Partners?
AddThis Feed Button
Zed-Axis BlogSubscribe to Zed-Axis Newsletter
 Take our opinion Poll
 Media Updates
 Press Releases
February 2018
January 2018
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017