This article is all about understanding importance of Spike Testing. Before we go further with that, I request you to read Basics of Performance Testing & Difference between Performance, Load and Stress Testing. These articles will help you understand why performance testing is so much necessary for any web application.
The word “Spike” means a sudden increase in the magnitude of something. Many times live web application face short burst of high load which leads to instant collapse under such user load. Needless to say, because of this, organizations have to face huge amount of revenue loss and corporate status jeopardize. So it is very important to test the behavior of application against unusual spikes of user load.
Understanding Spike Testing
Spike Testing is one form of Stress testing where behavior of the software product is determined under sudden increment or decrements of User load. Main purpose of doing it is to see how system reacts with such unexpected rise and fall of the user load.
Each software system has a pre-defined Max User Load Capacity. While doing Spike Testing, we try to reach(or go beyond) this max capacity all of a sudden(of-course not gradually) and release the user load in same manner. Application performance may get worse, for some or all users it may fail or worst of all your entire application may crash.
How to conduct Spike Testing
Spike Testing has to be done with constant monitoring in a controlled environment and obviously not on the live applications. Apache Jmeter provides Synchronizing Timer which can hold the threads till expected number is available and release them altogether causing the required Spike. Another option is to use Ultimate Thread Group where you can control sending virtual users easily.
Did you enjoy reading this article? Want to add more information to it or share your Spike Testing experience? Share with us in comments.