Endurance Testing is non-functional type of software testing where a software is tested with high load extended over a significant amount of time to evaluate the behavior of software application under sustained use. The main purpose of endurance testing is to ensure that the application is capable enough to handle extended load without any deterioration of response time. This type of testing is performed at the last stage of the performance run cycle. Endurance testing is a long process and sometimes lasts for even up to a year. This may include applying external loads such as Internet traffic or user actions. For this reason, endurance tests differ from stress tests, which typically last about a few hours.
Endurance means capacity.In other words, Endurance testing can be called capacity testing.
What to test in Endurance Testing:
Memory leakage– We perform memory leakage checks to confirm if the software has any memory leakage, which can lead to the system or operating system crashing.
Connection closure among the layer of the machine –Inadequately closing the relationship among the layers of the machine could potentially stall some or all modules of the machine.
Database connection close successfully– Failure to close the database connection properly may also lead to a system crash.
Response time – We examine the system for the machine’s reaction time because extended use of the machine can make the software less efficient.
Endurance Testing process:
Set up a test environment
Creating a test plan
Test Estimate
Risk analysis
Test Schedule
Execution of Test
Test Closure
Endurance Test tools:
- WebLOAD
- LoadComplete
- Apache JMeter
- LoadRunner
Advantages :-
This helps determine how much workload the system can handle under load.
Provide accurate data that customers can use to validate or improve their infrastructure needs.
Identify performance issues that may occur after the system has been running at a high level for an extended period of time.
We identify typical problems through small, targeted performance tests to ensure that the application remains available under high load in a very short time.
Endurance testing is also used to see if performance degrades after running for a long time.
Disadvantages :-
It’s often difficult to define how much stress is worth putting in.
Poorly isolated test environments can cause significant disruption because endurance testing can lead to application and network failures.
Overloading the system can result in permanent data loss or data corruption. Even after the stress has subsided, resource utilization remains very high.
Some application components fail to respond.
Unhandled exceptions are observed by end users.
If you want to read my article, visit:-SoftwareTestingLeaders.com
If you want to read my story, visit:- what is test plan?