In software engineering, performance testing is in general testing performed to determine how a system performs in terms of responsiveness and stability under a particular workload. It can also serve to investigate, measure, validate or verify other quality attributes of the system, such as scalability, reliability and resource usage.
2. +1-732-546-3607
www.p2cinfotech.com
training@p2cinfotech.com
What is Performance Testing?
Performance Testing is performed to determine response time of the some
components of the system perform under a particular workload. It is generally
measured in terms of response time for the user activity. It is designed to test the
overall performance of the system at high load and stress condition It identifies the
drawback of the architectural design which helps to tune the application. It
includes the following:
Increasing number of users interacting with the system.
Determine the Response time.
Repeating the load consistently.
Monitoring the system components under controlled load.
Providing robust analysis and reporting engines.
What is the testing lifecycle?
There is no standard testing life cycle, but it is consist of following phases:
Test Planning (Test Strategy, Test Plan, Test Bed Creation)
Test Development (Test Procedures, Test Scenarios, Test Cases)
Test Execution
Result Analysis (compare Expected to Actual results)
What are the drawbacks of manual load testing?
Drawbacks of manual load testing:
Simulation of manual load testing is difficult, because all the real users need
to perform the operations continuously.
Results collection will become very difficult, as the results are captured at
each user.
Results correlation may not be accurate, as there are delays between user
actions.
Load testing for loner durations (For example a week), will not be possible
with manual load testing. As the real users work max of 8 hours a day
Manual load testing is very expensive, as the real users needs to paid hourly
charges
Performance Testing Interview Questions And Answers
Page 2
3. +1-732-546-3607
www.p2cinfotech.com
training@p2cinfotech.com
Concurrency scenario simulation in manual load testing is very difficult with
real users. Because real users will be having the delays in performing
operations on the application.
What is a protocol?
Set of rules defined for transmitting the information between the two or multiple
systems is called as a protocol.
Protocol is used for recording the test scripts in most of performance and load
testing tools. So, as a performance / load test engineer, you need to know the
protocols used for accessing the application, so that you can choose the right
protocol for recording the script. You can get the protocol related information from
the architects, not from the developers.
What is concurrent user hits in load testing?
When the multiple users are running the load test, to hit a common step in the
application without any millisecond difference is called a concurrent user hit. The
concurrency point needs to be added as a one of the step for the virtual users. So,
that the virtual users will wait at the concurrency point, if they reach early. Once
all the users reached to the concurrency point, they start hitting the requests.
What is hardware tuning in load testing?
If any hardware specific bottleneck is identified during the load test, the process of
eliminating the bottleneck is called as hardware tuning.
What is software tuning in load testing?
The process of fixing the software bottlenecks is called 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.
Who will do the tuning after load testing?
Software tuning will be done by the developers, who are responsible for improving
the systems performance. Performance Testers can give recommendations /
suggestions to the development team for tuning software. But, tuning will be done
by only developers.
Performance Testing Interview Questions And Answers
Page 3
4. +1-732-546-3607
www.p2cinfotech.com
training@p2cinfotech.com
What is profiling?
A process of pin pointing a performance bottleneck at the minute level is called
profiling. Profiling will be done by the performance testers or developers
(Performance engineering teams).
Profiling will be done in any layer (presentation, business or data base layers) of
application under test. If we need to do the profiling at the application server
(business layer), we may need to use application server performance profiling
tools. When the application server is been profiled, you identify the code level
issues such as high CPU or memory intensive APIs.
If you are profiling the database using the database profiling tools, you can identify
the issues such as the number of SQLs executed, high cost queries, full table scan
queries etc.
How to identify a memory leak?
To identify a memory leak, we need to run the load test for longer duration. When
the load test runs for long duration, if there is any memory leak, the memory of the
respective server will be growing gradually.
Why Performance Testing is performed?
Performance Testing is performed to evaluate application performance under some
load and stress condition. It is generally measured in terms of response time for the
user activity. It is designed to test the whole performance of the system at high
load and stress condition.
Example: Customer like to withdraw money from an ATM counter, customer
inserts debit or credit card and wait for the response. If system takes more than 5
min. then according to requirements system functioning is fail.
Type of Performance Testing:
Load: analogous to volume testing and determine how application deal with
large amount of data.
Stress: examine application behavior under peak bursts of activity.
Capacity: measure overall capacity and determine at what time response
time become unacceptable.
Performance Testing Interview Questions And Answers
Page 4
5. +1-732-546-3607
www.p2cinfotech.com
training@p2cinfotech.com
What are tools of performance testing?
Following are some popular commercial testing tools are:
LoadRunner(HP): this for web and other application. It provides a variety
of application environments, platforms and database. Number of server
monitors to evaluate the performance measurement of each component and
tracking of bottlenecks.
QAload(Compuware): used for load testing of web, database and charbased system.
WebLoad(RadView): it allows comparing of running test vs. test metrics.
Rational Performance Tester (IBM): used to identify presence and cause
of system performance bottlenecks.
Silk Performer (Borland): allow prediction of behavior of e-business
environment before it is deployed, regardless of size and complexity.
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.
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:
Performance Testing Interview Questions And Answers
Page 5
6. +1-732-546-3607
www.p2cinfotech.com
training@p2cinfotech.com
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 concurrent user hits in load testing?
When the multiple users, without any time difference, hits on a same event of the
application under the load test is called a concurrent user hit. The concurrency
point is added so that multiple Virtual User can work on a single event of the
application. By adding concurrency point, the virtual users will wait for the other
Virtual users which are running the scripts, if they reach early. When all the users
reached to the concurrency point, only then they start hitting the requests.
What is the need for Performance testing?
Performance testing is needed to verify the below:
Response time of application for the intended number of users
Maximum load resisting capacity of application.
Capacity of application to handling the number of transactions.
Stability of application under expected and unexpected user load.
Ensuring that users have proper response time on productionQ7. 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
Performance Testing Interview Questions And Answers
Page 6
7. +1-732-546-3607
www.p2cinfotech.com
training@p2cinfotech.com
What are the exiting and entering criteria in the performance
testing?
We can start the performance testing of application during the design. After the
execution of the performance testing, we collected the results and analyzed them to
improve the performance. The performance tuning processed will be performed
throughout the application development life cycle. Performance tuning is
performed which is based on factors like release time of application and user
requirements of application stability, reliability and scalability under load, stress
and performance tolerance criteria. In some projects the end criteria is defined
based on the client performance requirements defined for each section of the
application. When product reaches to the expected level then that can be
considered as the end criteria for performance testing.
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 activities are performed during performance testing of any
application?
Following activities are performed during testing of application:
1. Create user scenarios
2. User Distribution
3. Scripting
4. Dry run of the application
5. Running load test and analyzing the result.,
Performance Testing Interview Questions And Answers
Page 7
8. +1-732-546-3607
www.p2cinfotech.com
training@p2cinfotech.com
How can we perform spike testing in JMeter?
Spike Testing is performed to understand what changes happens on the application
when suddenly large number of user increased or decreased. Sudden changes in the
number of user by increasing or decreasing at certain point of application and then
monitoring the behavior. In JMeter spike testing can be achieved using
Synchronizing Timer. The threads are blocked by synchronizing the timer until a
particular number of threads have been blocked, and then release them at once thus
creating large instantaneous load.
What is distributed load testing?
Distributed load testing: in this we test the application for a number of users
accessing the application at a same time. In distributed load testing test cases are
execute to determine the application behavior. Now application behavior is
monitored, recorded and analyzed when multiple users concurrently use the
system. Distributed load testing is the process using which multiple systems can be
used for simulating load of large number of users. The reason for doing the
distributed load testing is that to overcome the limitation single system to generate
large number of threads.
Explain the basic requirements of Performance test plan.
Any Software Performance Test Plan should have the minimum contents as
mentioned below:
Performance Test Strategy and scope definitions.
Test process and methodologies.
Test tool details.
Test cases details including scripting and script maintenance mechanisms.
Resource allocations and responsibilities for Testers.
Risk management definitions.
Test Start /Stop criteria along with Pass/Fail criteria definitions.
Test environment setup requirements.
Virtual Users, Load, Volume Load Definitions for Different Performance
Test Phases.
Results Analysis and Reporting format definitions
Performance Testing Interview Questions And Answers
Page 8
9. +1-732-546-3607
www.p2cinfotech.com
training@p2cinfotech.com
What is throughput in Performance Testing?
Throughput in Performance testing is the amount of data sent by the server in
responds to the client request in a given period of time or it is the number of units
of work that can be handled per unit of time. The throughput is measured in terms
of requests per second, calls per day, hits per second, reports per year, etc. In most
of the cases, the throughput is calculated in bits per seconds. Higher the throughput
value, higher the performance of the application It is includes the client side
statistics.
What are the automated Performance testing phases?
The phases involved in automated performance testing are:
Planning/Design: This is the primary phase where team will be gathering
the requirements of the performance testing. Requirements can be Business,
Technical, System and Team requirements.
Build: This phase consists of automating the requirements collected during
the design phase.
Execution: it is done in multiple phases. It consists of various types of
testing like baseline, benchmarking testing
Analyzing and tuning: During the performance testing we will be capturing
all the details related to the system like Response time and System
Resources for identifying the major bottlenecks of the system. After the
bottlenecks are identified we have to tune the system to improve the overall
performance.
What is baseline testing?
Baseline testing is a testing which is performed on the application before coming to
any conclusion. It can be either the verification or validation process which
provides an idea of what the next stage has to do. It is very important testing
technique, if done properly, 85% of performance problems can be identified and
solved when proper baseline tests are done.
Defect Tracking
Reporting
Performance Testing Interview Questions And Answers
Page 9
10. +1-732-546-3607
www.p2cinfotech.com
training@p2cinfotech.com
What is the difference between baseline and benchmark testing?
The differences between baseline and benchmark testing are:
Baseline testing is the process of running a set of tests to capture
performance information. This information can be used as a point of
reference when in future changes are made to the application where as
Benchmarking is the process of comparing your system performance against
an industry standard that is given by some other organization.
Example: We can run baseline test of an application, collect and analyze
results, and then modify several indexes on a SQL Server database and run
the same test again, using the previous results to determine whether or not
the new results were better, worse, or about the same.
For more details please contact us and join now for software testing online training
with 100% Placements
REGISTER FOR A FREE DEMO
www.p2cinfotech.com
training@p2cinfotech.com
+1-732-546-3607
Performance Testing Interview Questions And Answers
Page 10