Skip to main content

Performance testing vs Load testing vs Stress testing

Today I want to discuss a popular topic regarding a difference between Load and Performance testing. Those two types of testing are commonly used together but there are several key differences between the two.
To get a better understanding of the topic lets have a real life example from one of my clients and use it to explain the difference.
I have worked for a client that was building an in-house web application that provides its customers with an option to select and order different products and services. The request was, before the up-coming release, to test the performance of their product.
We started the task by trying and understand what they expect from performance point of view and then went through an exercise of defining what is captured by what test.
The client said that they are looking to have about 900-1300 active users on the site at a given moment, and the expected response time (for a page to load) should be less than 5 seconds.
With those details what are the tests that we want to tor run Performance or Load?


Performance Test:

This test will be used to determine how long it will take the website to respond while regular actions are performed. the response time will be measured usually under normal load of the website. It is important to understand that the load during each performance test is a constant that is not being changed and the variable will be the functional parameter. If we test a search Product functionality we will measure the response time for different search words (some return small result set and some return big result set) under a constant load of 900 expected users.


Load Test:

Here our goal is to measure how different loads are affecting our performance. We already know our performance under expected load and want to see how changes in the load affecting the measured response time. In our search functionality example our constant will be our search term and the variable will be the load. In this test the response time will be measured for low load (10 users), medium load (500 users), normal load (1000 users), and above normal load (1800 users). 

Stress Test:

Here our goal is to find the breaking point of our product. We begin with test which will include similar steps and configuration to Load test but with much higher than expected loads, we are keeping on increasing the load to understand at which point the website will not be responding at all to our request, or at which point the request are so slow that are effectively unusable.

Comments

Popular posts from this blog

Proper QA estimation in Agile project

  Today, I want to chat about a common issue in Agile development – story point estimation. You see, it's easy to get caught up in estimating how long a feature will take to develop and forget about the crucial Quality Assurance (QA) effort.  It happens to often: your team is in the middle of sprint planning. New user stories are being discussed, and estimations are given, but there's a catch. You've estimated the development time perfectly, but you've barely even glanced at how much effort QA will take. Why? Agile talks about Development Team and you mistakenly thought that it is all about DEVELOPMENT. Sound familiar? Trust me; it's a more common scenario than you might think. So, what's the big deal? Well, when you leave QA effort out of the equation, several not-so-great things can happen: Vilocity can suffer: You might think you can squeeze more into a sprint than is humanly possible, setting your team up for disappointment and overcommitment. Quality can de

What is Quality Assurance?

What is Quality Assurance (QA) in the software development world? This one will be the most popular question,with the widest variety of answers, which by its own gives me a good reason to answer it. So, I will start with dictionary(Wikipedia) definition: Quality assurance, or QA (in use from 1973) for short, is the systematic monitoring and evaluation of the various aspects of a project, service or facility to maximize the probability that minimum standards of quality are being attained by the production process. QA cannot absolutely guarantee the production of quality products . By large this is a nice definition, though it has two issues that need to be discussed further more: 1.minimum standard of quality. 2.quality of a product. But before we go there let me say something about "assurance"