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

Difference Between HTML and URL Mode in Loadrunner

What is the difference between HTML and URL Mode?

HTML Mode:

HTML Mode is the default recording mode available in Loadrunner for Web (HTTP/HTML) scripts. When you record an application in HTML mode it will not record all the resources, but it will keep in extras as shown below and when the same script is executed it will parse all the urls one by one in extras and It will take some time to parse all the urls. Please find an example of HTML Mode below for Bing.com.

Bing.com in HTML Mode:

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.

Web Functions in Loadrunner with Examples - Web Protocol in Loadrunner

Function Name Descriptionweb_add_auto_filter Sets criteria to include or exclude URLs when downloadingweb_add_auto_header Adds a customized header to all subsequent HTTP requests.web_add_cookie Adds a new cookie or modifies an existing one.web_add_cookie_ex Adds a cookie with specified add behavior.web_add_filter Sets criteria to include or exclude URLs when downloading.web_add_header Adds a customized header to the next HTTP request.web_cache_cleanup Cleans the content of the cache simulator.web_cleanup_auto_headers Removes all previous customized headers from HTTP requests.web_cleanup_cookies Removes all cookies currently stored by the Vuser.web_concurrent_end Marks the end of a concurrent group.web_concurrent_start Marks the beginning of a concurrent group.web_convert_date_param Converts a date string stored in a parameter to a different format.web_convert_from_formatted Converts a string created with one or more data format extensions back to the source format.web_convert_param Co…