Stability testing of an application or a web site is one of the product stability testing types which aims to determine how well the product operates during a long testing period at the expected load level. It is one of the areas of load testing and consists in creating software product operating conditions that are as close as possible to the regular operation mode. In other words, stability testing serves to prepare the product for continuous operation under uniform load.
At the same time, the duration of testing plays a key role, since the main goals of application stability testing and website stability testing are monitoring the resource consumption, detecting memory leaks and server restarts before downloading the product, as tracking the processing speed or response time at the beginning of testing and after a certain period of time.
This type of testing allows avoiding crashes happening while using the products which can be caused by errors in working with memory, by data accumulation, or are related to the issues in network equipment operation.
Stability testing types
There are two main areas of the product stability testing:
Application stability testing. This testing applies to the applications installed on tablets, smartphones and desktop devices with various configurations, versions of operating systems and iOS or Android platforms. It is utilized to identify incorrect product settings, as well as deficiencies in the system and hardware resources;
Website stability testing. In this case, testing is performed to find bugs that reduce the stability of the website functions at peak load times and to verify its recovery speed after server failures.
When conducting the product stability testing, a medium load (70-80% of the maximum level) is applied to the test object. In this case the feed should continue for at least 24 hours. Also, during testing, a number of indicators are measured, including:
- time to complete operations;
- mean time between failures;
- system resources distribution;
- number of views per second;
- server bandwidth;
- number of completed transactions;
- volumes of used memory and disk space;
- processor load.
All of the above characteristics of multi-user applications and web services should remain unchanged, while a decrease in their values means the presence of program defects or the existence of hardware failure.
During product stability testing the test cases are run manually using real equipment and devices. The testing is conducted step by step in accordance with custom designed test suites, with all detected and recorded errors and failures in the product stability reported into bug trackers. To increase the effectiveness of this method, it is often combined with stress testing, that is, with testing of the product ability to withstand peak loads over long periods of time.