Performance Testing is a type of Testing, where we check the performance of the Software Application. Now, What are the factors that we need to test to decide, whether the Performance of the Software Application is good or not. The Factors are following
There are different types of Performance Testing and we have listed them below.
Load Testing – Load means number of Users. So, Load Testing means, testing the performance of a Software Application when different different numbers of users try to access the Software Application at the same time. We have to measure the speed and the response time of the Software Application under varying load.
So, Let’s take an example of an eCommerce Website, and let’s say when 100 users are trying to access the website at the same time, then if we search for a product, then we get the results in 2 seconds, and then if we try to add the product to Shopping bag, then also it takes 2 seconds, and then if we click on checkout button, it takes 2 seconds of time to navigate to checkout page, and then we enter shipping address, billing address and enter credit card details, and then if we click on place order button, then it takes again 2 seconds of time for the order to get created.
Now, Let’s see the performance of the Website under varying load.
Load | Product Search | Add to Shopping Bag | Navigate to checkout | Order Placement |
100 | 2 seconds | 2 seconds | 2 seconds | 2 seconds |
500 | 3 seconds | 3 seconds | 3 seconds | 3 seconds |
1000 | 4 seconds | 4 seconds | 4 seconds | 4 seconds |
10000 | 7 seconds | 7 seconds | 7 seconds | 7 seconds |
20000 | 10 seconds | 10 seconds | 10 seconds | 10 seconds |
So, this way, we can see that how our eCommerce Website perform under varying load. The Speed of the website is more when the load is less on the Website which means the Website responds quickly and it’s response time is less. But, when the load increases on the Website, then the speed of the website decreases, which means the website responds slowly and it’s response time is more. So, when the load on the site is less, order creation is happening very fast, but when the load in the site is more, the order creation process is taking more time.
So, this is how Load testing is done for a Software Application.
We had seen in Load testing, the system performance keeps on reducing with increase in load. What happens when the load increases too much to handle. We might have some serious issues if it happens.
So, when we test the performance of our website for these conditions, then we say that we are doing Stress Testing. So, Stress Testing is a type of testing, where we test the performance of our website above the maximum permissible load.
Stress Testing helps us in identifying
Volume testing is used to test the performance of a software with huge amounts (large volume) of data.
It is also known as flood testing.
When we “flood” the database with data and test the performance of the software, then it is known as Volume testing or flood testing.
As part of Volume Testing, it needs to be ensured that
Scaling means growth. These days, we hear this term alot due to startups. Any business that grows at a rapid speed in terms of revenue, market share and customer aquisition, with in a very little time, It is said that the business has scaled up, So scaling means growing.
If there are 10 modules in a system, and the memory usage is equal for all the moduls in normal condition, then our system should be adjusted so that the bandwidth allocated for 1 module can be used for others, if only few modules are being used, and remaining are not being used.
Scalability testing is done to check the performance of the software when
Large number of users try to access the system, which means, when the load is more. Load Testing.
Lorge Volume of data is stored in the database, and we need to access the data. Volume Testing.
Large Amount of Transactions are taking place. Stress testing
So when the Load Testing, Stress Testing and Volume Testing is done together, then it is called Scalability Testing. But Scalability Testing does one more thing and that is, finding out the solution to the problem.
When we test the Software Application for a sudden over load condition in different different time interval, then it is called Spike Testing. This is a type of testing where the load increases or decreases on the software application suddenly.
Like if we tested an eCommerce Website for 5000 users in morning time for 10 minutes. Then we tested it again for 15 minutes with 7000 users in noon. Then we tested it for 8000 users for 20 minutes in evening, and so on.
This type of testing helps in identifying the system performance when a drastic load changes on the software system.
When we test the performance of a Software Application under normal load or over load condition for an extended period of time, then this type of testing is called Endurance Testing.
This is also called Soak Testing.
This is also called longevity Testing.
Endurance testing is performed at the last stage of the performance run cycle.
Endurance testing is done for several hours or even days.
Endurance testing is different from load testing.
Load Testing is done for just couple of hours.
Endurance Testing is performed in order to find out
So, Lets take an example of an Indian website irctc.co.in . Everyday, during 10 to 11 AM and during 11 to 12 AM, we are allowed to book Tatkal Tickets. Tatkal is an Hindi word, which means Urgent. So, Tatkal Ticket is a facility to book urgent tickets for people who couldn’t book their tickets earlier or who couldn’t plan their travel earlier. So, there is a limited time available, limited slots of tickets available as part of Tatkal Ticket Scheme, and when people try to access the irctc website during this interval, the website speed reduces drastically, and the response time increases a lot. So, during this time, the irctc website performance reduces a lot, and in some cases, the irctc website doesn’t allow you to login due to such traffic. This is an example of Stress Testing.
Let’s take an example of any eCommerce website like flipkart or Amazon, During normal time, the traffic on the website remains normal but during sale on the website, or during the festival time, like Diwali or Christmas, the traffic on the website increases drastically, and if the website doesn’t have the capacity to handle such great amount of traffic, the website performance might reduce or the website might crash as well. This is an example of Load Testing.
Let’s take an example of a banking System where, when a financial year ends, finance teams have to work hard and long to finish their reports. This usually takes a week or more. So, during this long period of time, more people use the banking application than usual. So, during this time, the load on the banking systems will more than the usual load and for a very long time such as for a week or 2, So the bank has to make sure their systems can handle the extra load for this long period of time, without slowing down, breaking down. This is an example of Endurance Testing.
Let’s take an example of YouTube. Around 3.7 million new videos are uploaded to YouTube every day. This is around 271,330 hours of video content based on an average length of 4.4 minutes. This is really a large volume of data and YouTube has to make sure that this data is stored properly and every one should be able to access it anytime. This is an example of Volume Testing.
So, with the above examples, We can say the Performance Testing is very important.
Performance Testing is very important, because it can help in
So, We have seen if we have to do performance Testing for a system, then we have to do it for a
So, We can see, It is very important to use an automation tool to do Performance Testing. Now, Let’s see, what type of automation tools, we will need, in order to do Performance Testing.
Few Performance Testing Tools are
We have covered below topics in this session.
Why is performance Testing so important for any organization ?
Why we can not over ride a Constructor This is a very important question, that,…
What is Arrow Function In the last session, We had discussed about Anonymous Function. Anonymous…
What is Anonymous Function Anonymous Function is a type of function which has no name…
What is Map, Reduce and Filter Map Filter and Reduce are higher order methods for…
9 different ways of declaring or defining a function in Javascript In, one of our…
Loops with Arrays in Javascript In our last session, we had seen, What is Array…