Stress Testing is defined as a type of Software Testing that verified the stability & reliability of the system. This test mainly determines the system on its robustness and error handling under extremely heavy load conditions.It even tests beyond the normal operating point and evaluates how the system works under those extreme conditions. Stress Testing is done to make sure that the system would not crash under crunch situations.Need for Stress TestingConsider the following scenarios - During festival time, an online shopping site may witness a spike in traffic, or when it announces a sale.When a blog is mentioned in a leading newspaper, it experiences a sudden surge in traffic.It is imperative to perform Stress Testing to accommodate such abnormal traffic spikes. Failure to accommodate this sudden traffic may result in loss of revenue and repute.Stress testing is also extremely valuable for the following reasons:To check whether the system works under abnormal conditions.Displaying appropriate error message when the system is under stress.System failure under extreme conditions could result in enormous revenue lossIt is better to be prepared for extreme conditions by executing Stress Testing.Goals of Stress TestingThe goal of stress testing is to analyze the behavior of the system after a failure. For stress testing to be successful, a system should display an appropriate error message while it is under extreme conditions.To conduct Stress Testing, sometimes, massive data sets may be used which may get lost during Stress Testing. Testers should not lose this security-related data while doing stress testing.The main purpose of stress testing is to make sure that the system recovers after failure which is called as recoverability.