Software Testing | Endurance Testing
Endurance Testing is a type of Software Testing that is performed to observe whether an application can resist the processing load it is expected to have to endure for a long period. During endurance testing, memory consumption is considered to determine potential failures. Performance quality is also calculated during Endurance Testing.
Endurance testing is mainly performed to measure the response of a tested element under potential simulated conditions for a specific period and for a certain load. Observations recorded during the endurance testing are further used to improve the corresponding parameters of the software application. Endurance testing is also known as Soak Testing.
Endurance testing includes examining a system while it withstands a huge load for a long period of time and measuring the reaction parameters of the system under such conditions. Endurance testing includes the testing of the operating system and the computer hardware up to or above their maximum loads for a long period of time.
Hence the endurance testing can be defined as a software testing type where a system or software application is tested with a load extended over a long period of time to observe the behavior of the software under such conditions.
It is performed at the last stage of performance run cycle. Endurance testing ensures that the application is capable of handling the extended load without any delay of response time.
Endurance testing is a long process and sometimes it may last for even up to a year. In endurance testing, external loads like internet traffic and user actions are used. Endurance testing is different from load testing as load testing ends in some hours.
Endurance Testing Process:
- Establish the test environment
- Creating the test plan
- Test estimation
- Risk Analysis
- Test Schedule
- Test Execution
- Test Closure
Endurance Testing Tools:
1. WebLOAD 2. LoadComplete 3. Apache JMeter 4. LoadRunner
Advantages of Endurance Testing:
- It determines the amount of workload a system can handle.
- It helps in identification of performance problems occurs when system is used for a long period of time.
- It helps in identifying the amount of memory leakage.
- If the testing is done effectively then there will be reduction in maintenance cost.
- It ensures client and customer satisfaction.
Disadvantages of Endurance Testing:
- It takes more time to complete this testing technique.
- Here, Manual Endurance Testing can not be performed.
- Selection of correct automation tool is important to test the system otherwise it leads to unexpected results.
- We can not determine how much of stress needs to be applied.
- Over-stressing will result in performance problem, performance degradation, permanent loss of data etc.