Performance Testing And Types Of Performance Testing
By Sam Z // Saturday, April 19, 2014
The importance of performance testing to a business cannot be underrated. It can save you from unforeseen bottlenecks and system failures that would be too expensive to recover from. Software applications need to be tested in order to determine whether they can perform as expected. This is referred to as performance testing, and it's importance can never be emphasized enough. It is a form of quality assurance that involves many aspects. These aspects include: the software application's performance in terms of response time, and the features and functionality that a software application supports. The ultimate goal of performance testing is to identify bottlenecks, and come up with solutions. A software application will be tested for speed, stability and scalability. Speed refers to how fast the software application will respond, and stability refers to how the application handles varying workloads. Scalability is the total amount of workload the software application can handle.
Types Of Performance Testing:
Understanding the various types of performance testing will shed some light on how it works to save your business from mishaps that can be caused by bottlenecks or system failures.
Load Testing:
It is done to understand how varying expected loads would make the system behave. For instance, its behavior if they were many users concurrently using the same application to carry out critical transactions for a certain period of time. It is able to give the application's response time for all the important transactions in a business. Load testing can be done for a business's database and servers which will be very helpful in identifying any existent bottlenecks.
Stress Testing:
This is done to determine whether the software application can still perform well even in cases of extreme load. It helps the application administrators know to what extent the application can be stretched without creating bottlenecks.
Soak Testing:
Soak testing monitors the system's performance over time. It is also referred to as endurance testing. It aims at determining the system's capability to sustain the normal load over time. The test involves looking out for potential leaks by monitoring memory utilization, as well as performance degradation. Performance degradation refers to the system's response time over a prolonged period of sustained use. Does it remain constant, improve or decline? Results of this test are derived from application of a significant amount of load to the system for a particular period of time.
Spike Testing:
This test involves a sudden increase in the amount of load, for instance a sudden increase in the number of users making transactions using the application. It is meant to determine whether the system will crash, slow down or whether it will be able to handle the surge.
Isolation Testing:
This is usually a repeat of the test execution that had caused a problem in the system. It is done to confirm the domain in which the fault had occurred.
Volume Testing:
It is a non-functional test. A certain amount of data is used to test the software application. The data can be a database or an interface file like .dat or . xml. To volume test the database, expand it to the desired size and then test the application for it. If you need the application to interact with a specific interface file, get a sample of the size you desire and then run the application.