Load Testing Definition: Load testing is the process of placing demand on a application server or device and measuring its response time.
The term load testing is applied in different ways in the professional software testing community. Load testing broadly refers to the practice of mocking up the anticipated usage of a software program by simulating multiple End users accessing the application under test at the same time. Since such, this testing is most applicable for multi-user systems, frequently one built using a client/server model, like web servers. Nevertheless, other types of software system can also be load tested. E.g., a word processing system or graphics editor can be forced to read an highly large document; or a financial software package can be pushed to generate a report based on several years’ worth of data. The most exact load validation happens with actual, rather than theoretic, results.
As the load placed on the application server is raised beyond normal usage patterns, in order to validate the system’s response time at unusually high or peak loads, it’s known as stress testing. The load is commonly so great that error conditions are the desired result, although no clear boundary is there when an activity discontinues to be a load test and converts to a stress test.
There is little understanding on what the specific goals of load testing are. The term is frequently used synonymously with performance testing, reliability testing, and volume testing.
Load and performance validation is to test software system intended for a multi-user audience for the expected performance by subjecting it with an equal amount of virtual users and then monitoring the performance under the assigned load, commonly in a test environment identical to the production environment, before going live. For instance, if a web site with a shopping cart is designated for 100 simultaneous End users who are doing the following functions:
50 VUsers are browse through the items and logging out
50 Vusers are adding up items to the shopping cart and checking out and logging out
50 VUsers are returning items previously purchased and logging off
50 VUsers are just logged on without any activity
Some of the times it is also referred to as Non-Functional Testing
Applying various performance testing tools available to generate these VUsers, the application program is subjected to a a hundred VUser load as shown above and its performance is measured. The pass fail standards is different for each organization and there are no international standard on what an accepted criteria should be, across the board. In fact, in the list above point 1 the from each one of the 50 Virtual users could be browsing through unique items that a different virtual users will not browse through.
It’s a basic misconception that these are record and playback tools like regression testing tools, but the similarity ends there. Load testing tools act at the protocol level whereas most regression testing tools act at the GUI object level. For instance, a regression testing tool will simulate a click on an OK button on the web 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 End users each having a unique login ID and password.