In the Software Development Life Cycle (SDLC) software testing plays an essential role; before delivering an actual system to project stakeholders, Software Development Company conducts various software testing to check, validate and authenticate the robustness of the system. In the simpler terms software testing is nothing but an investigation conducted to provide stakeholders with information about the quality and validity of the provided software.
Generally, various types of software testing is conducted in the development process, to name a few-
Black box testing under which only the functionality of the system is tested without peering into the internal structures or workings.
White Box testing under which internal structures or workings of an application is tested, essentially this testing is a very detailed one, and check on to the codes of the system.
Exploratory testing is nothing but conducting ad hoc testing with some intended goals or purpose.
User Acceptance Testing (UAT) is one of the key testing done ahead of delivering the final product to stakeholders.
And one among various testing is a Stress Testing, which is essentially done to find out the robustness of the system. In simpler terms, if any particular system is tested with a set of given data it may work perfectly fine at that point in time, but in real time many a times systems fail to deliver the desired output because of the heaviness of the data. To overcome such situation stakeholders prefer to conduct stress testing ahead of UAT.
Let’s check the reasons for conducting Stress Testing
- Primararily, it is done to identify whether the suggested system is able to perform well in a critical situation or not, that’s the reason it is also called as ‘mission critical’.
- Generally every system is tested based on clean and clear database, but in real life many adverse situations arises, like sudden flood of spam messages on the site, or jump in web traffic, or sudden change by government authority which enforces company to increase database likewise in anticipated situation how system is behaving, how it managed to respond at that time, to ascertain such unwarranted situation stress testing has to be conducted.
- It also happens that when a tester is testing any system, it tested under certain circumstances, but in reality when a user is using the system, he/she is using with significantly fewer computational resources such as less memory or ram or disk space.
- Under a stress testing, many a times system is also tested by removing certain resources or overwhelming its resources, the objective is to make sure that system fails and recovers gracefully, and hence it is also called as negative testing.
Few ways and means to conduct stress testing
- Increase the database number to a couple of times more, to figure out system reaction
- Randomly shut down and restart the system
- Randomly shut down and restart the network ports
- Take the database offline, and restart it
- Open multiple application at one time and see the reaction
- Run another software which consumes more disk space and ram
Likewise, software tester conducts many more tricks to validate the systems. At the last such stress testing helps software developer to build a robust system which can survive and deliver results in any adverse situation arises if any.