Skip to main content

Performance Testing and Types of Performance Testing

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.

Performance testing is done for different purposes:

Response Times:

Response times are the key element in carrying out performance testing. We do different type of performance tests to determine the amount of time taken to load a page from the server. For example, if you type google.com in the browser. The amount of time taken to load a page from the server is called response time. The response times increase when the load is not handled by the server. We use different tools to monitor the servers during the load and determine what the causes of high response times are. Many load testing tools will calculate the response time of every request or transaction.

Popular Load Testing Tools: HP Loadrunner, Apache Jmeter.

Popular Monitoring Tools: Java Profiler, HP Sitescope, HP Diagnostics. 

Comments

Popular posts from this blog

Strtok Function in Loadrunner with Example

Sometimes we want to capture all the values that match our specified delimiters and conditions but strtok function itself only captures the current value in the char token. Adding a sprintf function will allow you to store each of the values that you want to capture for later use (like choosing random) in different parameters.

File operations in loadrunner with examples

In this post I will explain how to capture a value from server response and save to a text file using vugen.
How to capture and save to text file using loadrunner:
First I have recorded the script using bing.com and then i searched for IBM. We will get 10 results. I have captured all the 10 values and saved to a file.
Here is the code for that.