As in the case of any manufacturing process, testing for quality and performance is necessary in software development also. Software Performance testing is a type of quality assurance test to check the responsiveness, scalability, reliability, speed etc under different load conditions. This test is aimed at ensuring a smooth functioning of an application under different loads. Since different attributes are to be tested, there are different types of performance tests and they are as follows.
This is one of the most common type among the different types of performance testing and in this test, the application will be tested at different loads, starting from a minimum load to the expected load. The load will keep on increasing while the system is under test. Here, the load can be the number of users or the number of transactions done using the application.
Stress testing is done to check the stability of the software when the hardware requirements including memory, disk space etc are insufficient. Literally, this is a negative testing where an application with large number of users and transactions will be loaded on a system which does not meet the exact hardware requirements. The aim of stress testing is to determine the failure of the system and how fast it recovers. Hence it is also known as recovery test or reliability test.
Spike testing can be considered as a subtest of stress testing. Here the load is increased and decreased, unexpectedly to check how the system responds to sudden changes.
This is a nonfunctional testing where a system or an application is tested with expected load for a longer period of time to check the behavior. This type of performance testing is also known as soak testing.
This is also a nonfunctional testing where the ability of the application to scale up in terms of number of users, number of transactions etc will be tested.
In this type of performance testing the ability of the application to process large volumes of data will be checked. Aim of this test is to check the behavior of the system with different volumes of data.
Performance Testing Tools
There are a good number of performance testing tools available in the market. Here are the most widely used tools.
- Apache JMeter
- Rational Performance Tester
- QEngine (ManageEngine)
- Testing Anywhere
- Cloud Test