- Load testing
Load testing is the process of creating demand on a system or device and measuring its response.In mechanical systems it refers to the testing of a system to certify it under the appropriate regulations (LOLER in the UK - Lifting Operations and Lifting Equipment Regulations). Load testing is usually carried out to a load 1.5x the SWL (Safe Working Load) periodic recertification is required.
In software engineering it is a
blanket term that is used in many different ways across the professionalsoftware testing community.Load testing generally refers to the practice of modeling the expected usage of a software program by simulating multiple users accessing the program's services concurrently. As such, this testing is most relevant for multi-user systems, often one built using a client/server model, such as web servers. However, other types of software systems can be load-tested also. For example, a word processor or graphics editor can be forced to read an extremely large document; or a financial package can be forced to generate a report based on several years' worth of data. The most accurate load testing occurs with actual, rather than theoretical, results.
When the load placed on the system is raised beyond normal usage patterns, in order to test the system's response at unusually high or peak loads, it is known as
stress testing . The load is usually so great that error conditions are the expected result, although no clear boundary exists when an activity ceases to be a load test and becomes a stress test.There is little agreement on what the specific goals of load testing are. The term is often used synonymously with
performance testing ,reliability testing , andvolume testing .Testing
Load and Performance testing is to test
software intended for a multi-user audience for the desired performance by subjecting it with an equal amount of virtual users and then monitoring the performance under the specified load, usually in a test enviromnent identical to the production, before going live. For example if a web site with a shopping cart is intended for 100 concurrent users who are doing the following functions:
* 25 VUsers are browsing through the items and logging off
* 25 Vusers are adding items to the shopping cart and checking out and logging off
* 25 VUsers are returning items previously purchased and logging off
* 25 VUsers are just logged in without any activityUsing various tools available to generate these VUsers the application is subjected to a 100 VUser load as shown above and its performance is monitored. The pass fail criteria is different for each individual organization and there are no standards on what an acceptable criteria should be, across the board.
It is a common misconception that these are record and playback tools like regression testing tools, however it must be clarified that the similarity ends just there. The Load testing tools work at the protocol level where as the regression testing tools work at the GUI object level. To give an example a regression testing tool will simulate a mouse click on an OK button on the browser, but a load testing tool will send out the hypertext that the browser will send after the user clicks the OK button, and again it will send out the hypertext for multiple users each having a unique login ID and password.
Various tools are also available to find out the causes for slow performance which could be in the following areas:
* Application
* Database
* Network
* Client side processing
* Load Balanceree also
*
software testing
* [http://en.wikipedia.org/wiki/Category:Load_testing_tools Load testing tools]External links
* Article [http://www.methodsandtools.com/archive/archive.php?id=38 Modeling the Real World for Load Testing Web Sites] by Steven Splaine
Wikimedia Foundation. 2010.