Testing Systems to the Breaking Point

Load testing is actually as simple as it sounds (in name, not necessarily in practice). Simply put, load testing or stress testing is the act of pushing software or hardware to its limit, either virtually or physically, to see what its limits are. This process allows a developer to identify the breaking points of a particular piece of software or hardware before it becomes available for public access. This type of testing is common in web design, game design, programming, hardware production, and web server maintenance.

For example, before an MMORPG (Massively Multiplayer Online Roleplaying Game) goes live, it’s typical for the developers to push the system to its limit using virtual accounts to identify how many concurrent users a particular game server can handle before it reaches its limit and shuts down. This allows for the practice of putting blocks in place that will not allow further connections to a server once the maximum numbers of allowed concurrent users has been reached.

Another great example comes in the form of E-commerce. Unlike brick and mortar stores, online stores such as Amazon don’t have a physical space in which maximum occupancy is defined by terms of floor real-estate. However, especially in the case of Amazon, the number if customers accessing the store simultaneously exceeds that of a brick and mortar store exponentially. This means that a store will need to test how many users one particular server can handle before it is overloaded. Furthermore, a store will need to test how many users doing separate functions can be supported, such as users viewing different items, users viewing their cart, users on the checkout screen, or even users simply idling on the site. Stress testing the servers allows the store to allocate multiple servers as needed to handle the demands of incoming website traffic and allows them to pre-emptively combat server crashes which could cause a loss in revenue.

Another prime example of stress testing comes in the form of hardware such as GPU’s or graphics processing units. In this method of testing, extremely large strings of data (think overclocking) are forced into the GPU to see at which point it either crashes due to an overload or sustains physical damage due to thermal extremes. This is especially important for high-end GPU’s which are used for gaming, being as these are commonly overclocked by an end-user whose satisfaction depends on how effectively the GPU can handle processing large strings of data. You can also do API testing to in certain games such as web based games if necessary to ensure that all of your APIs work properly and the games work as they’re should. With video games and video editing software becoming more and more demanding as both mediums progress into higher definition territory, stress testing is of utmost importance to ensure quality. Needless to say, load testing is a cornerstone of modern technology.