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.

The Importance of Stress Testing a Nonprofit Website

Stress testing is a form of performance testing and a critical part in the development of any network, software, or computer program. It is primarily done in a lab environment prior to release of the product to ensure it maintains a high performance rate.

This is done by placing the object of the test in artificially generated unfavorable conditions to measure its performance, typically based on the number of reoccurring system crashes or other such errors.

The artificial adverse conditions may include but are not limited to trying to access one Web site as many times as possible and as fast as possible. Hacking the system and converting it into what’s called a “zombie.” This is then used to send out waves of spam. Using malware like viruses and Trojans to infect the computer, intentionally slowing its performance. That creates a lot of multitasking by having the system try to run more than one complex and high resource applications all at one time on a single console, bombarding the system with pointless junk mail and useless messages.

If the object continues to perform initially then the conditions are intensified. After all, it wouldn’t be called a stress test if it were easy would it? The system is pushed to its limit with careful, incremental increases of the individual stresses. All the time this is going on performance is being carefully analyzed and evaluated based on a variety of different factors.

Any system will eventually break down after enough of this sort of treatment. To borrow a sports term the stress test is more about endurance. It is designed to see how the system will perform in the worst possible circumstances to expose flaws in its internal workings or simply establish a base line for performance.

Stress testing is definitely a time intensive undertaking; however its importance cannot be understated. Developers use such information to create systems that fail slowly and steady. This may sound defeatist but nothing in invulnerable, especially in the continuously upgrading world of technology. This sort of system maintains core functionality making it easier to locate the problem and correct it before the damage becomes irreversible.

How Stress Testing Relates to Nonprofits

The information about should show you that stress testing is important, but what if you’re not a big business? What if you’re a smaller company or a nonprofit that doesn’t have a lot of money to spend? Is load or stress testing worth doing? The truth is that yes, it is worth doing! It’s even more important if you don’t have a high quality server because you need to ensure then that it’s well-optimized.

The truth is that it’s not easy to find hosting for nonprofits, and even harder to optimize a slow server. This doesn’t mean it’s not possible, but it will definitely take some work. Is it worth doing? Absolutely, because the people who are interested in your cause will be better able to view your site and learn about you message if it’s working well and not loading slowly. So, hopefully now after reading this page you better-understand the importance of not only stress testing a more popular website, but also something smaller like a nonprofit site.