There would be many occasions when you experience your computer or mobile device going slow after installing a specific number of apps. At times your computer or mobile device might have crashed while trying to perform some actions on certain apps. Here is the need to test the stability of the system or the software application and stability testing is aimed at testing stability.
What is Stability Testing?
Stability testing comes under performance testing and it is a nonfunctional type of testing. Most important aim of the stability testing is to test the stability of the software or the system under maximum load, stress and in different environments. Behaviour of the system or the software under normal situations will not be tested here and only breaking points, the points where the system crashes will be tested. This type of testing is also called as Soak Testing and here the performance will be measured over time. Load will be applied to the software application under test to check how long it can withstand the load.
Why We Should Perform Stability Testing?
Usually, the software developers fear to make lot of changes in a software for the fear of breaking down of the software. Here is the significance of stability testing. There are many disadvantages for not performing stability testing and some of the major disadvantages are given below.
- When the amount of data increases the system becomes slower
- System may crash frequently
- Behaviour of the system may change depending of varying temperature or voltage.
- Performance of the system may reduce and finally affect the business.
Hence, it is more important to conduct stability testing before the release of the product. The major advantages of doing stability testing are given below.
- Provides the right information about the quantity of data a system can handle.
- Enhances the confidence over the performance of the system
- Helps to determine the stability of the system.
- Offers better end user experience.
How to Perform Stability Testing?
Stability testing can be done either using automation tools or manually. Let us look into the details of stability testing taking a smartphone as an example. After loading a new software the first thing to do is testing the booting. Then functional testing will be done to test all functionalities. After this, the non-functional testings including stability testing will be carried out. The following things will be tested in a smartphone during stability testing.
- Over 60% of the memory will get filled with data and then it will be tested for performance.
- Then the memory will be filled with 80% and it will be tested again.
- Tools such as LoadRunner can be used for loading the system and then for testing.
- System’s memory can be filled with automation scripts and then the system can be tested.
- The test can be executed by clicking the same button for more number of times (for example 100 times), sending around 1000 requests at a time, pressing random buttons or by closing and opening the system frequently.
- Battery life and performance also can be tested
- Maximum allowed load should be applied on the system both internally and externally to check the breaking point.