To help you get started, find below an extensive list of performance testing interview questions and answers that will cover many aspects.
Performance testing is a difficult and nuanced topic, and it’s equally challenging to prepare for the interview phase of the process. But there are a few things you can do to make sure your chances of success are as high as they possibly can be.
Q1. What is performance testing?
Performance testing occurs when a tester performs a specific set of tests, typically regression tests, against a product to determine if it satisfies specified criteria.
Q2. What are the two types of performance testing strategies?
There are two main types of performance testing strategies used by organizations: code-based and functional-based.
In code-based performance testing, the tester focuses on the technical aspects of performance ensuring that the product works as designed. In functional-based performance testing, testers focus on software functionality and use cases to assess customer satisfaction with the product once it has been implemented.
Q3. What is the difference between performance testing and load testing?
Load testing compares the performance of an application under a known load to a baseline or target. This process typically occurs during the development lifecycle, when software is being integrated into a web-based application in order to simulate a real-time user environment.
Test results in this period will determine if changes to the applications’ architecture are required in order to sustain high levels of throughput. The only way that developers can ascertain if these changes have been successful is by monitoring and measuring response times, resource allocation and the number of concurrent users during peak periods.
Performance testing differs from load testing because it involves conducting realistic tests on a production environment, where there are multiple users accessing the system simultaneously. Read more on the differences between load testing and performance testing.
Q4. Name the different types of performance testing
These include stress testing, load testing, spike testing and endurance testing.
Q5. What is the performance testing lifecycle?
A performance testing lifecycle is a systematic approach to testing that starts with the set-up of test cases and ends with the final review of test results.
Testing begins when a tester sets up a test environment in which to conduct their analysis. Here they create a baseline, run an initial test and document the results.
Test cases are then created based on this data and further tests are conducted. These tests focus on areas that need improvement in order for an application to perform optimally when it goes live.
This process continues until the application is deemed fit for purpose by the business, at which point testing will cease and report writing will begin.
Q6. What should you consider before choosing performance testing tools?
- Cost of the tool
- Support of the tool by the developers
- Extensive training required
- Level of automation available
- Number of tools that the tool comes with
Read more on what to consider when choosing testing tools.
Q7. How should you conduct performance testing?
There are three critical stages to ensure your performance testing is effective: set up, design, and execution. The set-up stage includes creating test cases, monitoring server conditions and creating metrics. The design phase involves analyzing the data gathered during this time to determine which aspects are most important or problematic for your application. At this stage, you should decide what needs to be fixed so that it performs optimally when it goes live. When performance testing is completed the final stage commences, where you conduct a review of all findings and take corrective action if necessary.
Q8. What is the difference between average and peak performance?
The average performance of an application is the mean value of all data points. In reality, however, most data points will not be alike. In this scenario, the average would only give a good approximation of how an application will perform.
Peak performance takes into account those instances where a large number of requests make a call, with these requests forming a spike in traffic due to a certain period of time. Peak performance takes into consideration the burstiness of traffic and ensures that your application is able to sustain this level of activity without suffering from downtime or loss in throughput.
Q9. What is the difference between mean and minimum latency?
Mean latency is the average response time of a system. Theoretically, this value should be 0. This is the point at which an application will perform optimally. For most applications, this number will never actually drop to this level due to the nature of traffic spikes and bursts in traffic that occur during peak periods.
Minimizing latency at any point in time will ensure that all tests are run at their optimum potential and that any errors or problems diagnosed during performance tests are corrected before they occur in production.
Q10.How do you create a test plan in JMeter?
- Create a Test Plan in JMeter
- Select the Thread Group and click Add button.
- Name your thread group and select the kind of the thread you want to create, for example, Sample Sampler.
- Type in a name for your Thread Group and then click “Add” button.
The Thread Group will be created with its default values: name – “Main”. The number of concurrent threads – 1.
Read more about the basics of running JMeter.
Q10 . What is the difference between HTTP requests and WebSockets?
HTTP requests are separate messages sent over the Internet through an HTTP request/response protocol, and they usually include headers like authentication and cookies (which help secure transactions like credit card purchases).
WebSockets are a lower-level protocol that defines how messages are written to and read by clients. Unlike HTTP, WebSockets are full duplex, which means that messages are sent each direction simultaneously.
Q11 . What do you understand by the term “Distributed Denial of Service (DDoS) attack”?
A Distributed Denial of Service (DDoS) attack is an attack by multiple compromised computers (called the botnet or zombies) simultaneously, against one or more targets on the Internet.
The “botnets” send external request(s) to the target(s), overwhelming its capacity to respond to legitimate traffic or applications/services. DDoS attacks are a common type of attacks against web servers, ranging from a few Mbps to hundreds of Gbps.
Read more about Denial Of Service Attack.
Q13 . What do you understand by the term “Memory leak”?
Memory leak occurs when a program or software component does not release memory that it is no longer using once the programmer has finished with it. It is one of several types of resource leaks, which are deadlocks, file descriptors, handles, sockets and window handles.
It is usually the result of poor programming practices or accidental bugs in an application’s code or libraries. Memory leaks may cause problems for computers running operating systems prone to virtual memory swapping (e.g.undefined [.]
Q14. What are metrics?
Metrics are collected information collected by the metric collector, usually in the form of value, time, or the count. A metric monitor may support multiple metrics managers to gather the same information in multiple forms. The collected data is stored in a series of structured fields collected from data capture points throughout the system. Metrics are collected until they are stored in one or more metric tables, usually stored in a relational database management system (RDBMS)
Q15 What is TCP/IP?
TCP/IP, sometimes called Internet protocol, is the basic networking protocol used by most commercial and personal computers to communicate across networks.