Performance testing

Overview

Performance testing is the practice of evaluating how a system performs in terms of responsiveness and stability under a particular workload. Performance tests are typically executed to examine speed, robustness, reliability, and application size.

Purpose

Performance testing ensures that the system is performing perfectly under varying loads. Load testing ensures that the system can handle how many users at a time without performance degradation. Performance testing checks the performance of the system. Load testing checks the operational capacity of the system.

How it Works

Performance testing is a non-functional software testing technique that determines how the stability, speed, scalability, and responsiveness of an application holds up under a given workload.

Features


Performance Testing Process

Also known as the test bed, a testing environment is where software, hardware, and networks are set up to execute performance tests. To use a testing environment for performance testing, developers can use these seven steps:

1. Identify the Testing Environment.

2. Identify Performance Metrics.

3. Plan and Design Performance Tests.

4. Configure the Test Environment.

5. Implement Your Test Design.

6. Execute Tests.

7. Analyze, Report, Retest.

Technology

When we have to measure the load, stability, response time of the application, we required some performance (load) testing tools, which help us to test the performance of the software or an application. Performance testing tools can be open-source and commercial.

We have various types of performance testing tools available in the market; some of the most used performance (load) testing tools are as follows:

FAQs

What is a Load Test?

In the simplest terms a load test measures how much activity your site can support before performance is affected.

How Does A Load Test Work?

A load test engine uses scripts to simulate different numbers and configurations of users accessing your site and applications.

Why Is Load Testing Needed?

Load testing identifies at what levels of traffic, or certain types of activity, user experience starts to degrade.

Load Testing data is also helpful in making prioritisation and budgeting decisions.

Does Load Testing Measure Hardware Or Software Performance?

Load Testing Identifies problems, the conditions (traffic levels, activity mix, actions taken) under which they occurred, the errors thrown and their root causes. The root causes identified can be hardware or software related.

How Do I Know If I Need To Load Test?

In general it’s good practice to Load Test your site regularly to check for any unknown problems that may have arisen due to installation of new hardware or software.

What Makes An Effective Load Test?

For an effective load test it is important to cover not only a mixture of different journeys, but to weight the number of each type of journey within the test by the proportional breakdown of those journeys in different time periods, reflecting the ways the site must be able to handle different kinds of traffic peaks.

What Can I Learn From A Load Test?

This really depends on the type of testing you undertake and can range from the basic self service tool results that provide “one big number” of “the site slows down when X amount of traffic hits the homepage concurrently”, to in-depth bespoke analysis.

Is Load Testing Just A Measure Of Traffic?

Simply, no. An actionable load test is a measure of entire site performance and that is about more than simple traffic count. You may find, for example, that site performance suffers more with a relatively low number of users if they all use one particular feature, or that there are significant differences based on user technology or point of origin.

Do I Need To Measure Concurrent Users?

Concurrent User numbers alone are not really very useful. In fact they are awful as a measure of your web-site’s capacity! See Predicting Next Years Website Traffic

What Needs To Be Done Before Load Testing?

You will need to analyse past and current performance data to work out the parameters of the load that needs to be generated for the tests, whether testing based on current traffic or projections for the future.

When Should Load Testing Be Carried Out?

If testing a live site many organisations choose to run tests outside of peak hours (peaks may be measured in terms of traffic numbers, volume or value or sales etc) so as to reduce the risk of inconveniencing real users on the site.

Should I Run Load Tests With Different System Configurations And At Different Times For Comparison Purposes?

A mixture of tests is always useful. This will give you a better understanding of the limits of your site under different conditions and enable you to plan the redundancy you need in your system.

How Complex Can A Load Test Be?

The complexity of the test parameters possible depends on the sophistication of the test engine that is being used.

How Often Should I Load Test?

Many organisation have a plan that includes both regular load testing and benchmarking to ensure that changes made to the platform do not result in any unforeseen incremental performance issues, coupled with a number of in depth ad hoc tests that relate to activities such a major launches or sales and marketing activities.


What Is Included In A Load Test?

The tests themselves can involve complex user journeys of many separate dynamic steps and top level measures including:

Is There A Way To Target Load Tests To Already Known Problem Areas?

Working with multiple data sources and correlating the information across all of them will enables the load test engineer to identify likely problem areas. 

How Many Tests Should I Run?

Typically at least two rounds of testing take place within a load test project. The first identifies any problem areas and the second is a re-run using the same parameters to measure improvement. Depending on the work to be done more iterations may be needed.

What Is The Difference Between Self Service Tools And Fully Managed Load Testing?

Self service tools tend to concentrate on basic metrics such as concurrent user sessions, page views, or technology driven performance measures. 

Are There Special Considerations For Load Testing Websites Using a CDN Or Based In The Cloud?

There are a number of pitfalls it is possible to encounter when testing with a site that uses a CDN (Content Distribution Network) and it pays to be aware of them.

Is Load Testing Needed For Capacity Planning?

Capacity planners rely on load test data but do not tend to run the load testing themselves. The information from load testing is needed for complex modelling and forecasting of capacity needs.

Is Load Testing Data Used In Strategic Decision Making?

As eCommerce continues to rise in strategic importance the data available from load test results can provide a vital input into strategic planning, target setting of all kinds, and forecasting.

Is Load Testing Used In User Experience Measurement?

Load testing is used to ensure that your users experience a consistent level of performance whenever they visit the your site. A user does not know or care if they are the only person on your site at the time of their visit, or one of ten million. They expect a perfect customer experience every time.