Stress testing is a type of load testing. Whereas load testing hits your web application with a large number of virtual users to measure how the site responds, stress testing with LoadStorm is all about overloading the app with large volumes of users.
Stress testing tries to break the application. LoadStorm allows you to increase the number of virtual users over a period of time until the application fails. We affectionately call this situation a “meltdown”.
By stress testing your website or web application, you can determine what your users/buyers will experience in times of extreme load. Also, you can find the points of failure in order to tune your application. Perhaps you realize that your web app becomes database bound after about 500 concurrent users. This knowledge allows you to make some appropriate adjustments to your infrastructure or architecture. You then run another stress test and find that your web app doesn’t fail again until you reach 5,000 users.
Failure can be defined in any way that fits your situation. Obviously, if your app crashes completely, that is a failure. A failure in an e-commerce app could simply be an order that isn’t processed correctly. Additionally, your application has a variety of demanding requirements such as the ability to cache a certain amount of content or to achieve response time objectives.
These differences in failures and requirements drive software engineers to take a scientific approach to measuring and testing system performance. We suggest you monitor your website’s or app’s average load and peak loads. Peak load trends should be tracked for specific times of the year or week, and especially for peak usage on a daily basis. Planning for traffic spikes due to marketing campaigns, media reports, webinars, and special blogging events is very important because the worst time for a system failure is when you were trying to drive new traffic to your site.
LoadStorm provides the capability as a stress testing tool to put your web app under a heavy load, significantly beyond expectations, to ensure the app produces correct behavior. You may also test a lower (normal) load while putting the app in conditions of insufficient resources such as memory.
In a broader sense, stress testing can include any process of evaluating failure points in a web application by introducing adverse conditions into the runtime environment. For instance, a productive use of stress testing is to see what happens when a breakdown of a component occurs. For example, a drive in a RAID array crashes (or is pulled out). LoadStorm can apply the normal volume of users to your system while a new RAID drive is installed and rebuilds.
Regardless of how you need to use LoadStorm for stress testing, what you define as a failure, or which system resources you may lose, LoadStorm can provide an excellent way to apply the user load necessary as your stress testing tool.