Performance Testing

Ashish Bhardwaj
3 min readFeb 26, 2022

RJ: Hey AB, what is Performance testing. I tried searching online and reading blogs but am not able to understand this clearly.

AB: Basically performance testing is the process to estimate the performance, stability, response time and speed of a particular application when the load is applied to it. We find the bottleneck(like CPU utilization, Memory utilization, Network utilization, Operating System limitations or Disk usage) of our application.
RJ: Cmmo’n man again bookish definition.

AB: Okay! gimme a break.

Performance Testing or Perf Testing:

Performance testing is a process in which we try to find the bottleneck for our application and its certain features, i.e at what particular stress point our web application will crash.
Suppose you own a website like Flipkart and you want it to be robust, stable, fast and 24/7 online because you want to remain in the business as well as on the top of it. Initially, it wouldn’t be a big deal but when your customer base will increase there will be a lot of load(no. of users using your website, requests made per sec) on your website. And it will crash if it’s not properly made and tested before release and the company will bear a huge loss in business as well as customer trust.
So to prevent this performance testing is used.

RJ: That's it. It’s easy man, now I got the crux of it.

AB: Wait there are also types of Performance testing let me describe those also.

Types of Performance Testing:

  1. Load Testing: In load testing suppose your developer or you build your application for 1000 users. But before releasing the application you will test it by making proxy requests on the website(application) simultaneously. Though the no. of proxy requests would always be 1000 or less than 1000 in this case.
  2. Stress Testing: In stress testing suppose your developer or you build your application for 1000 users and the response time of each request is 2 sec in this case. But before releasing the application you will test it by making proxy requests on the website(application) simultaneously to check the breaking point of the application. In this case, the no. of proxy requests would always be greater than the no. of users it is designed for (1000 in this case). And the point(no. of load say 1250) at which the application failed to respond is the failure point.
  3. Scalability Testing: In scalability testing, we try to find the breaking point of our application or we can say where our website will crash by applying load(more than for which it is designed for, say 4600). It is done in order to understand and determine the software application’s effectiveness in “scaling up” to support an increase in user load. It helps plan capacity addition in advance in case of more traffic on the application.
  4. Volume/Flood Testing: In volume testing, large no. of. Data is populated in a database and the overall software system’s behaviour is monitored. It is done to check what will happen when more and more users will upload and download images or files(say we build social media applications). The objective is to check application performance under varying database volumes.
  5. Endurance/Soak Testing: In Endurance testing, we try to find out whether the software can handle the expected load over a long period of time. Suppose you build Flipkart then in Festival seasons people will be using it for longer durations to find the best deal, and the overall time spent on the application will be greater, so endurance testing is a must to find out whether the application can withstand these longer durations.

RJ: Wooah!! thanks a lot, man. But how can I Perform Performance testing?

AB: You can do so by using tools like HP LoadRunner, Jmeter, LoadNinja.

RJ: Okayy!!, tell me more about these tools.

AB: Probably next time, the article is getting too long.

--

--