Load testing is the process of creating demand on a system or device and measuring its response.
In software engineering it is a blanket term that is used in many different ways across the professional software 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.
The term is often used synonymously with performance testing, reliability testing, and volume testing.