Performance Testing Interview Questions and Answers
Explain what is performance testing?
Performance testing is done for quality assurance. It involves testing software application to make sure that the software is working well under their expected workload.
Mention different types of performance testing?
- Load testing
- Stress testing
- Endurance testing
- Spike testing
- Volume testing
- Scalability testing
List out what are the common performance problem does user face?
- Longer loading time
- Poor response time
- Poor Scalability
- Bottlenecking (coding errors or hardware issues)
List out some common performance bottlenecks?
Some common performance bottlenecks include
- CPU Utilization
- Memory Utilization
- Networking Utilization
- S limitation
- Disk Usage
List out some of the performance testing tool?
- HP Loader
- HTTP Load
- Proxy Sniffer
- Rational Performance Tester
- Borland Silk Performer
Explain Performance Testing Life Cycle.
- Step 1: System Analysis (Identification of critical transaction)
Virtual User Generator
- Step 2: Creating Virtual User Scripts (Recording)
- Step 3: Defining Users Behavior (Runtime setting)
- Step 4: Creating Load Test Scenarios
- Step 5: Running the Load Test Scenarios and Monitoring the Performance
- Step 6: Analyzing the Results
Why does JMeter become a natural choice of tester when it comes to performance testing?
JMeter tool has benefits like
- JMeter has a tendency to determine the maximum number of concurrent users that your website can handle
- It provides a variety of graphical analyses of performance reports
Mention what all thing involves in Performance Testing Process?
- Right testing environment: Figure out the physical test environment before carry performance testing, like hardware, software and network configuration
- Identify the performance acceptance criteria: It contains constraints and goals for throughput, response times and resource allocation
- Plan and design Performance tests: Define how usage is likely to vary among end users, and find key scenarios to test for all possible use cases
- Test environment configuration: Before the execution, prepare the testing environment and arranges tools, other resources, etc.
- Test design implementation: According to your test design, create a performance test
- Run the tests: Execute and monitor the tests
- Analyze, tune and retest: Analyze, consolidate and share test results. After that, fine tune and test again to see if there is any enhancement in performance. Stop the test, if CPU is causing bottlenecking.
List out some of the parameters considered for performance testing?
- Memory usage
- Processor usage
- Memory pages
- Network output queue length
- Response time
- CPU interruption per second
- Committed memory
- Thread counts
- Top waits, etc.
List out the factors you must consider before selecting performance tools?
- 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
Mention what is the difference between JMeter and SOAPUI?
|It is used for load and performance testing HTTP, JDBC,JMS, Web Service(SOAP), etc.||It is specific for web services and has a more user-friendly IDE|
|It supports distributed load testing||It does not support distributed load testing|
|–||For most IDE, it has plugin support|
Mention what is the difference between performance testing and functional testing?
|Functional Testing||Performance Testing|
|To verify the accuracy of the software with definite inputs against expected output, fuctional testing is done.||To validate the behavior of the system at various load conditions performance testing is done.|
|This testing can be done manually or automated||It gives the best result if automated|
|One user performs all the operations||Several user performs desired operations|
|Customer, Tester and Development involvement is required||Customer, Tester, Developer, DBA and N/W management team|
|Production sized test environment is not necessary, and H/W requirements are minimal.||Requires close to production test environment and several H/W facilities to populate the load.|
Get through the interview bar with our selected interview questions for Performance Testing enthusiasts
What is Load testing?
Load testing is to determine if an application can work well with the heavy usage resulting from a large number of users using it simultaneously. Load is increased to to simulates the peak load that the servers are going to take during maximum usage periods.
Mention what is the benefit of Load Runner on testing tools?
Benefit of LoadRunner testing tools is
- Test Results
- Easy Integrations
- Robust reports
- Enterprise Package
Explain what is Endurance Testing and Spike Testing?
- Endurance Testing: It is one 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 also a type of performance testing that is performed to analyze the behavior of the system when the load is increased substantially.
Explain 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 durations
- 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
How do you identify which protocol to use for any application?
Previously Performance tester had to depend much on the development team to know about the protocol that application is using to interact with the server. Sometimes, it also used to be speculative.
However, LoadRunner provides a great help in form of Protocol Advisor from version 9.5 onwards. Protocol advisor detects the protocols that application uses and suggest us the possible protocols in which script can be created to simulate the real user.
Mention the steps required in JMeter to create a performance test plan?
To create a performance test plan in JMeter
- Add thread group
- Add JMeter elements
- Add Graph result
- Run test & get the result
What are the different components of LoadRunner?
The major components of LoadRunner are:
- VUGen- Records Vuser scripts that emulate the actions of real users.
- Controller – Administrative center for creating, maintaining and executing load test scenarios. Assigns scenarios to Vusers and load generators, starts and stops loading tests.
- Load Generator – An agent through which we can generate load
- Analysis – Provides graphs and reports that summarize the system performance
Explain how you can execute spike testing in JMeter?
In JMeter, spike testing can be done by using Synchronizing Timer. The threads are jammed by synchronizing the timer until a specific number of threads have been blocked and then release at once, creating a large instantaneous load.
Explain what is the throughput in Performance Testing?
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.
Mention what are the phases for automated performance testing?
Phases for automated performance testing includes
- Design or Planning
- Analyzing & Tuning
Mention what is the difference between the benchmark testing and baseline testing?
- Benchmark Testing: It is the method of comparing performance of your system performance against an industry standard that is set by other organization
- Baseline Testing: 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
Mention what is concurrent user hits in load testing?
In load testing, without any time difference when multiple users hit on the same event of an application under the load test is called a concurrent user hit.
What is performance tuning?
To improve the system performance we follow a mechanism, known as Performance tuning. To improve the systems performance there are two types of tuning performed:
- Hardware tuning: Optimizing, adding or replacing the hardware components of the system and changes in the infrastructure level to improve the systems 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.
What is the reason behind performing automated load testing?
Following drawbacks of manual Load Testing that leads to Automation load testing:
- Difficult to measure the performance of the application accurately.
- Difficult to do synchronization between the users.
- Number of real time users are required to involve in Performance Testing
- Difficult to analyze and identify the results & bottlenecks.
- Increases the infrastructure cost
How do you identify the performance bottlenecks situations?
Performance Bottlenecks can identify by monitoring the application against load and stress condition. To find bottleneck situation in performance testing we use Load Runner because provides different types of monitors like run-time monitor, web resource monitor, network delay monitor, firewall monitor, database server monitor, ERP server resources monitor and Java performance monitor. These monitors can help to us to determine the condition which causes increased response time of the application. The measurements of performance of the application are based on response time, throughput, hits per sec, network delay graphs, etc.
What is Modular approach of scripting?
In Modular approach, a function is created for each request (e.g. login, logout, save, delete, etc.) and these functions are called wherever required. This approach gives more freedom to reuse the request and saves time. With this approach it is recommended to work with web custom request.
What activities are performed during performance testing of any application?
Following activities are performed during testing of application:
- Create user scenarios
- User Distribution
- Dry run of the application
- Running load test and analyzing the result
Explain the sub-genres of Performance testing?
Following are the sub-genres of Performance Testing:
- Load Testing: it is conducted to examine the performance of application for a specific expected load. Load can be increased by increasing the number of user performing a specific task on the application in a specific time period.
- Stress Testing: is conducted to evaluate a system performance by increasing the number of user more than the limits of its specified requirements. It is performed to understand at which level application crash.
- Volume Testing: test an application in order to determine how much amount of data it can handle efficiently and effectively.
- Spike Testing: what changes happens on the application when suddenly large number of user increased or decreased.
- Soak Testing: is performed to understand the application behavior when we apply load for a long period of time what happens on the stability and response time of application.
Our design of course tutorials and interview questions is practical and informative. At TekSlate, we offer resources to help you learn various IT courses. We avail both written material and demo video tutorials. For in-depth knowledge and practical experience explore Online Performance Testing Training.