If your software takes excessive time to load or stalls while performing, the users will simply switch it off. You will be losing customers to your competition. If you are planning to start your career in Software Testing and you wish to know the skills related to it, now is the right time to dive in. These Performance Testing Interview Questions and Answers are collected after consulting with Performance Testing Certification Training experts.
Performance Testing Interview Questions
Q1. What is Performance Testing?
Performance Testing is a type of software testing which ensures that the application is performing well under the workload. The goal of performance testing is not to find bugs but to eliminate performance bottlenecks. It measures the quality attributes of the system.
The attributes of Performance Testing include:
- Speed – It determines whether the application responds quickly.
- Scalability – It determines maximum user load the software application can handle.
- Stability – It determines if the application is stable under varying loads.
Q2. What are the different types of Performance Testing?
The different types of performance testing are:
- Load testing – It checks the application’s ability to perform under anticipated user loads. The objective is to identify performance bottlenecks before the software application goes live.
- Stress testing – This involves testing an application under extreme workloads to see how it handles high traffic or data processing. The objective is to identify the breaking point of an application.
- Endurance testing – It is done to make sure the software can handle the expected load over a long period of time.
- Spike testing – This tests the software’s reaction to sudden large spikes in the load generated by users.
- Volume testing – Under Volume Testing large no. of. Data is populated in a database and the overall software system’s behavior is monitored.
- Scalability testing – The objective of scalability testing is to determine the software application’s effectiveness in scaling up to support an increase in user load.
Q3. What are the common performance problems faced by users?
Some of the common performance problems faced by users are:
- Longer loading time
- Poor response time
- Poor Scalability
- Bottlenecking such as coding errors or hardware issues
Q4. Name some of the common Performance Testing Tools.
The market is full of a number of tools for test management, performance testing, GUI testing, functional testing, etc. I would suggest you opt for a tool which is on-demand, easy to learn as per your skills, generic and effective for the required type of testing. Some of the common Performance Testing tools are:
- Apache JMeter
- LoadUI Pro
Q5. List out some common Performance bottlenecks.
Some common performance bottlenecks include:
- CPU Utilization
- Memory Utilization
- Networking Utilization
- S limitation
- Disk Usage
Q6. What are the Parameters considered for Performance Testing?
The Parameters for Performance Testing are:
- Memory usage
- Processor usage
- Memory pages
- Network output queue length
- Response time
- CPU interruption per second
- Committed memory
- Thread counts
- Top waits
Q7. What are the factors for selecting Performance Testing Tools?
The factors that you must keep in mind while selecting Performance Testing Tools include:
- Customer preference tool
- Availability of license within customer machine
- Availability of test environment
- Additional protocol support
- License cost
- Efficiency of tool
- User options for testing
- Vendor support
Q8. What is the difference between Performance Testing & Functional Testing?
|Performance Testing||Functional Testing|
- To validate the behavior of the system at various load conditions performance testing is done.
- It gives the best result if automated
- Several user performs desired operations
- Customer, Tester, Developer, DBA and N/W management team
- Requires close to production test environment and several H/W facilities to populate the load
- To verify the accuracy of the software with definite inputs against expected output, functional testing is done.
- This testing can be done manually or automated
- One user performs all the operations
- Customer, Tester and Development involvement is required
- Production sized test environment is not necessary, and H/W requirements are minimal
Q9. What is throughput in Performance Testing?
Throughput is referred to the amount of data transported to the server in responds to the client request at a given period of time. It is calculated in terms of requests per second, calls per day, reports per year, hits per second, etc. Performance of application depends on throughput value, higher the value of throughput -higher the performance of the application.
Q10. What are the benefits of LoadRunner in testing tools?
Some of the benefits of LoadRunner are:
- Test Results
- Easy Integrations
- Robust reports
- Enterprise Package
Q11. What is Endurance Testing & Spike Testing?
Endurance Testing – It is a type of performance testing where the testing is conducted to evaluate the behavior of the system when a significant workload is given continuously.
Spike Testing – It is a type of performance testing that is performed to analyze the behavior of the system when the load is increased substantially.
Q12. What are the common mistakes done in Performance Testing?
The common mistakes done in Performance Testing are:
- Direct jump to multi-user tests
- Test results not validated
- Unknown workload details
- Too small run duration
- Lacking long duration sustainability test
- Confusion on definition of concurrent users
- Data not populated sufficiently
- Significant difference between test and production environment
- Network bandwidth not simulated
- Underestimating performance testing schedules
- Incorrect extrapolation of pilots
- Inappropriate base-lining of configurations
Q13. What are the different phases for automated Performance Testing?
Phases for automated performance testing include:
- Design or Planning
- Analyzing & Tuning
Q14. What is the difference between Benchmark Testing & Baseline Testing?
|Benchmark Testing||Baseline Testing|
- It is the method of comparing performance of your system performance against an industry standard that is set by other organization
- It is the procedure of running a set of tests to capture performance information. When future change is made in the application, this information is used as a reference
Q15. What is concurrent user load in Performance Testing?
Concurrent user load in performance testing can be defined as something when many users hit any functionality or operation at the same time. Concurrent user load testing sends simultaneous artificial traffic to a web application in order to stress the infrastructure and record system response times during periods of sustained heavy load.
Q16. What is a Protocol? Name some Protocols.
A protocol is a defined as a set of various rules for the purpose of information communication between the two or more systems.
Some of the Protocols are :
- Web Services
Q17. What is a Performance Tuning?
Performance tuning is the improvement of system performance. Typically in computer systems, the motivation for such activity is called a performance problem. It can be either real or anticipated and most systems will respond to increased load with some degree of decreasing performance.
Q18. What are the types of Performance Tuning?
There are two types of Performance Tuning:
- Hardware Tuning – Enhancing, adding or supplanting the hardware components of the system under test and changes in the framework level to augment the system’s 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.
Q19. List the need for opting for Performance Testing.
Performance testing is generally required to validate the following:
- The response time of application for the intended number of users-
- Utmost load resisting capacity of an application.
- The capability of the app under test to handle the particular number of transactions.
- The constancy of an application under the usual and unexpected user load.
- Making sure that users have an appropriate response time on production.
Q20. What are the reasons behind the discontinuation of manual load testing?
There were certain drawbacks of manual Load Testing that lead to the adoption of Automation load testing. Some of the reasons are:
- Complicated procedure to measure the performance of the application precisely.
- Complex synchronization procedures between the two or more users.
- Difficult to assess and recognize the outcomes & bottlenecks.
- Increased the overall infrastructure cost.
Q21. What is Profiling in Performance Testing?
Profiling is a procedure of pinpointing a bottleneck performance at miniature levels. This mainly includes developers or performance testers and is done by presentation teams for manufacturing . You can profile in any application layer which is getting tested. If you want to do application profiling you may require utilizing tools for performance profiling of application servers.
Q22. What are the entering & exiting criteria for Performance Testing?
The starting of the performance testing is done at the design level only. After the testing is done, results are collected and later they are analyzed in order to make improvements regarding the performance. During the whole process of life cycle development, performance tuning is done and the factors on which it is based are scalability and reliability during the presence of the load, application release time and tolerance criteria of performance and stress.
Q23. What are the activities involved in Performance Testing?
The activities involved in Performance Testing are:
- Requirement gathering
- Tool selection
- Performance test plan
- Performance test development
- Performance test modeling
- Test Execution
Q24. What is Stress Testing & Soak Testing?
Stress Testing – It is a software testing activity that determines the robustness of software by testing beyond the limits of normal operation. The performance results are analysed to know how far the resources can sustain the upper limit with good performance as expected.
Soak Testing – Soak Testing is a type of performance test that verifies a system’s stability and performance characteristics over an extended period of time. System resources are monitored with their performances getting affected with load increase.
Q25. Differentiate between Performance Testing & Performance Engineering
The process of identifying the issues that disturbs the performance of any application is performance testing whereas, improving the performance of the application by observing the measurements got from the performing testing by necessary changes in terms of architecture, resources, implementation etc is performance engineering.
Q26. How would you identify the performance bottleneck situations?
Performance Bottlenecks are recognized by monitoring the app against load and stress conditions. To find bottleneck situation in performance testing the testers usually use Load Runner because it supports many different types of monitors like a run-time monitor, network delay monitor, web resource monitor, database server monitor, firewall monitor, ERP server resources monitor and Java performance monitor. These monitors in turn help to the tester to establish the condition which causes an increase in the response time of the application.
Q27. How to perform Spike Testing in JMeter?
In JMeter, spike testing can be achieved by using Synchronizing Timer. The threads are jammed by synchronizing the timer until a specific number of threads have been successfully blocked, and then release them at once thus creating large immediate load.
Q28. What are the different components of LoadRunner?
The major components of LoadRunner include:
- VUGen– Records Vuser scripts that emulate the actions of real users.
- Controller – Administrative center for creating, maintaining and executing load test scenarios.
- Load Generator – An agent through which we can generate load.
- Analysis – Provides graphs and reports that summarize the system performance
Q29. What is a correlation?
Correlation is used to handle the dynamic values in a script. The dynamic values change for each user action when action is replayed by the same user or any different user. In both, the cases correlation takes care of these values and prevents them from failing during execution.
Q30. Explain the difference between automatic correlation and manual correlation?
Manual Correlation involves identifying the dynamic value, finding the first occurrence of dynamic value, identifying the unique boundaries of capturing the dynamic value, writing correlation function web_reg_save_param before the request having the first occurrence of dynamic value in its response.
Automated correlation works on predefined correlation rules. The script is played back and scanned for autocorrelation on failing. Vugen identifies the place wherever the correlation rules work and correlate the value on approval.
Q31. What is NeoLoad?
Neo load is a type of load testing tool. It measures performance of the web or mobile application. It also provides programmatic solutions to the developers to help them optimize the performance before the application goes into the production. It is available in French and English as well.
Q32. What is the Modular approach of scripting?
In Modular approach, a function is created for each request such as login, logout, save, delete, etc. This approach gives more freedom to reuse the request and saves time. With this approach, it is recommended to work with web custom request.
Q33. How are the steps validated in a Script?
Each step in the script is validated with the content on the returned page. A content check verifies whether specific content is present on the web page or not. There are two types of a content check used in LoadRunner:
- Text Check– This checks for a text/string on the web page
- Image Check– This checks for an image on a web page.
Q34. How to identify performance testing use cases for any application?
There are certain measures that you need to consider while monitoring the performance tests. Users have to be working on the core functionality of the application, trying to perform operations on database like CRUD, and the number of users trying to concurrently access the application should be more. With all these criteria, even manual test cases can help you in identifying the performance measurements.
Q35. What is Correlate graph and overlay graph?
Correlate graph – The Y-axis of the graphs are plotted against each other. After this, the Y-axis of the graph that is active is considered to be the X-axis of the graph that is merged. Henceforth, the graph that was merged with the Y-axis of that graph becomes the Y-axis merged.
– Plot two graphs which contain the same x-axis. Left Y-axis in the merged graph shows the current value of graph. Right Y-axis shows the value of the Y-axis of the graph that was merged.
With this, we have come to the end of Performance Testing interview questions article. I Hope these Performance Testing Interview Questions will help you in your interviews. In case you have attended any interviews in the recent past, do paste those interview questions in the comments section and we’ll answer them.
Also, check out the Performance Testing Certification Training by Edureka, a trusted online learning company with a network of more than 250,000 satisfied learners spread across the globe. This course provides you insights into software behavior during workload. In this course, you will learn how to check the response time and latency of software and test if a software package is efficient for scaling. The course will help you check the strength and analyze the overall performance of an application under different load types.