Load testing is the process of putting increasing demand on a system or software until the system or software breaks or fails to function. The purpose of load testing is to test the system against unusually high usage patterns to determine how the system or software will react.
One example of the need for this type of testing is a web server hosting a web site that is seasonal or receives peak levels of web traffic during highly publicized special events. Another example would be a link to a small web site from a very popular site, that then doubles or triples the number of concurrent visitors to the smaller web site. Load testing in each example could determine ahead of time whether each site could handle the increased traffic without the hosting server failing to serve web pages to visitors during the peak load.
Software load testing
Software programs can be load tested and can be particularly useful if they are network capable as most modern software packages are today. Testing is usually performed by the software company itself, rather than individual users or business users unless determining maximum capacity is critical to the enterprise. Ordinarily however, software will come with a set of benchmarks, stated maximum concurrent users and other statistics that are useful in determining suitability to purpose, often removing the need for individual testing.
With common software packages, like a word processor application or graphics editor application, these can be tested by repeated attempts to load a very large document. Will the document load successfully? Or will a suitable error message be displayed to confirm that the document is beyond the capacity of the application to handle it? Will the application simply crash with or without warning? In the case of other applications like a database that is setup to only handle 100 concurrent users, like some versions of Microsoft Access database application, what happens when the 101st user is attempting to connect to the database? Different software makers will handle the software limits in various ways and it can be helpful to be aware of these. In addition, web applications need to be written to display appropriate messages to the web user if maximum capacity has been reached.
Web server and web application load testing
The World Wide Web (the Internet) is run by networks, and web servers are utilized to offer web site functionality to web users. A lot of the software used on these networks and servers today was designed for the Internet, but quite a few have been inherited and was not specifically designed for it.
Early versions of Microsoft Access are a case in point. The 100 concurrent user limit was fine for most enterprises using a network version of the package. As long as each user quickly accessed the database, ran their database query, saved the results and then disconnected from the relational database management system (RDBMS), hitting the concurrent user limit could be avoided in many cases. Depending on the uses for the database, 1,000 users across an enterprise could have access to the RDBMS as long as no more than 100 employees did so during the same few seconds a database query was being ran.
Some web hosting companies still offer earlier versions of Access for free with their hosting packages and this can create problems for web developers that create a web application, utilizing Access as the primary RDBMS, never anticipating the web site becoming anything but modest success. The concurrent user limit could be quickly reached if traffic grew beyond expected levels and the web site would become inaccessible for many users.
Load testing in the real world
Load testing is useful to determine the maximum usable load for an application, be it standalone, networked or web-based. This can help when attempting to predict outcomes should demand exceed estimates by the wide margin. Software packages will usually come with some internally tested load suggestions but it is useful to conduct your own tests when the application is critical to business operations.
Thank you,
Jitkasem Pintaya
Related posts: