performance Testing

9
Jun

Top 25 Performance Testing Interview Questions and Answers

Top 25 Performance Testing Interview Questions and Answers


Q1. What is Performance testing?

Performance testing is a discipline where we test our system to evaluate the system performance when subjected to virtual user load.

Q2. How is Load Testing different from Stress Testing?

Load Testing: It is the simplest form of testing which is done by increasing load step by step to reach the defined limit or goal.
Stress Testing: We can also call it as negative testing as we test the system beyond its capacity to find out the break point of the system.

Q3. What is concurrent user load in performance testing?

Concurrent user load can be defined as when multiple users hit to any functionality or transaction at the same time.

Q4. What is a protocol and how many you have worked on?

A protocol is a set of rules for information communication between 2 or more systems. There are many protocols such as Http/Https, FTP, Web Services, Citrix.Mostly used protocols are Http/Https and Web Services.

Q5. How can you check the system for memory leaks?

We can identify the memory leaks by running load tests for a longer durations and analyzing the ram of the system, generally it will grow with time and will lead to deadlocks and breakpoints.

Q6. Can you tell a scenario where throughput is increasing with response time means when they are directly proportional?

Yes it can be possible when you have lots of CSS (Cascading Style Sheet) in your application which takes a lot of time to display. We can expect this type of situation where throughput will be increasing as well as the response time.

Q7. What is Think Time?


Think time can be defined as the real time wait between 2 consecutive transactions. For Example a real time user waits to evaluate the data he received before performing the next step, that wait time he takes can be stated as think time.

Q8. How do you find out the performance bottlenecks?


Performance Bottlenecks can be identified by using different counters such as response time, throughput, hits/sec, network delay graph. We can analyze them and tell where the suspected performance bottleneck is.

Q9. How you can calculate pacing for your application?

We can calculate pacing by the formula as
No. of users = (Response Time in seconds + Pacing in seconds) * TPS
TPS is transaction per Second.

Q10. What is Ramp-Up and Ramp-Down?

The rate at which we increase the load on system by adding virtual users is called ramp up.
The rate at which virtual users exit from system is called as ramp down.

Q11. What is performance engineering, how its different form performance testing?

Performance testing is the process where we identify the issues in the system.
Performance engineering is the process where we address the issues and rectify them.

Q12. How do you do the analysis of the system for identifying issues?

We can study the various graphs generated by the tool such as Response time, throughput graph, running Vusers graph etc. and also we can see the server logs to identify the issues in system.

Q13. Have you worked on some analysis tools, if yes explain?

Yes, there are many tools available for analysis such as Dynatrace, Cawily. We can use these tools to see the exact transactions and queries running on the AUT to identify the root cause of any issue or failure.

Q14. What is IP spoofing and why is it used?

IP spoofing is used to spoof the system so that each host machine can use many different IPs to create hypothetical environment where system believes that request are coming from different locations.

Q15. List down any challenge you faced in your performance career and how did you overcome it?

Yes, I faced many challenges like defining the scope of application, break points which I over came by studying the historical data of application and based on them I decided the values, setting up the performance environment including proxy bypassing, connecting to Server under test.

Q16. What can be key factors in deciding whether we need a performance testing for any application before going live?

We can decide based on following factors:

  • How many are the target users?
  • How much application will grow with period of time?
  • Who all are competitors and how much traffic they general get?
  • How many critical scenarios we have?
  • How much will be the business loss if site is unavailable?

Q17 . Have you ever seen “No Data available for current settings”? When do we get this?

Yes, this comes when you do not have enough data in your data pool. So, we need to make sure that we have created the data pool as per the settings of conductor.

Q18. What is difference between Scalability testing and Load testing?

Load testing is done to see the application behaviour under defined load.
Scalability testing is done beyond the defined load to see how scalable your application is and find out the breakpoint.

Q19. What is difference between Simultaneous user and Concurrent user?

Simultaneous users wait for other user to complete then it starts its activity whereas in concurrent users, it can be like 2 users log into the system and perform different activities at the same time.

Q20. How to find bottlenecks and resolve them?

We first need to analyze all the counters like Memory Leaks, Avg. Time taken, Concurrent user load, throughput etc. Based on the analysis results, we will find out where bottleneck could occur. Then parameters need to be fine-tuned in DB2 Server like Queries, Stored Procedures, PL/SQL, Indexes, Locks, No of open connections etc.

Q21. What best practice you will follow if asked for setting up a performance bed?

  • We need to get the clear understanding of the architecture of system under test.
  • Have to setup the best possible replica of production aka stage.
  • Understand the usage growth of application as well as under different time zones
  • Identifying the critical flows of application.

Q22. What is performance tuning? How many types are there?

Performance tuning is done for improving the system performance:

  • Hardware Tuning: Optimizing, adding or replacing hardware components of the system and changes done in the infrastructure level to improve system performance is called hardware tuning.
  • Software Tuning: Identifying the software level bottlenecks by profiling the code, database etc. Fine tuning or modifying the software to fix the bottlenecks is called software tuning.

Q23. What are the key counters you monitor during a load test?

They can be transaction response time, memory usage, disk space, and CPU time.

Q24. What is the difference between Overlay graph and Correlate graph?

Overlay Graph: It overlay the content of two graphs that shares a common x-axis. Left Y-axis on the merged graph show the current graph value & Right Y-axis show the value of Y-axis of the graph that was merged.
Correlate Graph: Plot Y-axis of two graphs against each other. The active graph Y-axis becomes X-axis of merged graph. Y-axis of the graph that was merged becomes merged graph Y-axis.

Q25. What is the difference between hits/sec and req/sec?

  • Hits per second means the number of hits the server receives in one second from the vuser.
  • Request per second is the number of request vuser will receive from the server