Codementor Events

8 Performance Testing Interview Questions & Answers in 2018

Published Jul 14, 2018

8 Performance Testing Interview Questions & Answers in 2018Performance testing, a non-functional testing technique performed to determine the system parameters in terms of responsiveness and stability under various workload. Performance testing measures the quality attributes of the system, such as scalability, reliability and resource usage.

Q1: What is the difference between load and stress testing?

Topic: Performance Testing
Difficulty: ⭐⭐

A load test is usually conducted to understand the behaviour of the system under a specific expected load. This load can be the expected concurrent number of users on the application performing a specific number of transactions within the set duration. This test will give out the response times of all the important business critical transactions.

A stress testing instead is performed to understand the upper limits of capacity within the system. This kind of test is done to determine the system’s robustness in terms of extreme load and helps application administrators to determine if the system will perform sufficiently if the current load goes well above the expected maximum.

πŸ”— Source: en.wikipedia.org

Q2: What is Load Testing?

Topic: Performance Testing
Difficulty: ⭐⭐

Load testing measures system performance as the workload increases. That workload could mean concurrent users or transactions.The system is monitored to measure response time and system staying power as workload increases. That workload falls within the parameters of normal working conditions.

πŸ”— Source: stackify.com

Q3: Name some performance testing steps

Topic: Performance Testing
Difficulty: ⭐⭐

Some of the performance testing steps are:

  • Identify the testing environment
  • Identify performance metrics
  • Plan and design performance tests
  • Configure the test environment
  • Implement your test design
  • Execute tests
  • Analyze, report, retest

πŸ”— Source: stackify.com

Q4: Name some Performance Testing best practices

Topic: Performance Testing
Difficulty: ⭐⭐⭐

  • Test as early as possible in development.
  • Conduct multiple performance tests to ensure consistent findings and determine metrics averages.
  • Test the individual software units separately as well as together
  • Baseline measurements provide a starting point for determining success or failure
  • Performance tests are best conducted in test environments that are as close to the production systems as possible
  • Isolate the performance test environment from the environment used for quality assurance testing
  • Keep the test environment as consistent as possible
  • Calculating averages will deliver actionable metrics. There is value in tracking outliers also. Those extreme measurements could reveal possible failures.

πŸ”— Source: stackify.com

Q5: What is Endurance Testing?

Topic: Performance Testing
Difficulty: ⭐⭐⭐

Endurance testing β€” also known as soak testing β€” is an evaluation of how software performs with a normal workload over an extended amount of time. The goal of endurance testing is to check for system problems such as memory leaks. (A memory leak occurs when a system fails to release discarded memory. The memory leak can impair system performance or cause it to fail.)

πŸ”— Source: stackify.com

Q6: Name some Performance Testing metrics to measure

Topic: Performance Testing
Difficulty: ⭐⭐⭐

  • Response time - Total time to send a request and get a response.
  • Wait time - Also known as average latency, this tells developers how long it takes to receive the first byte after a request is sent.
  • Average load time - The average amount of time it takes to deliver every request is a major indicator of quality from a user’s perspective.
  • Peak response time - This is the measurement of the longest amount of time it takes to fulfill a request. A peak response time that is significantly longer than average may indicate an anomaly that will create problems.
  • Error rate - This calculation is a percentage of requests resulting in errors compared to all requests. These errors usually occur when the load exceeds capacity.
  • Concurrent users - This the most common measure of load β€” how many active users at any point. Also known as load size.
  • Requests per second - How many requests are handled.
  • Transactions passed/failed - A measurement of the total numbers of successful or unsuccessful requests.
  • Throughput - Measured by kilobytes per second, throughput shows the amount of bandwidth used during the test.
  • CPU utilization - How much time the CPU needs to process requests. Memory utilization - How much memory is needed to process the request.

πŸ”— Source: stackify.com

Q7: How to interpret load/stress test metrics?

Topic: Performance Testing
Difficulty: ⭐⭐⭐⭐

Elapsed Time / Connect Time / Latency - should be as low as possible, ideally less than 1 second. Amazon found every 100ms costs them 1% in sales, which translates to several millions of dollars lost,

Median - should be close to average elapsed response time,

XX% line - should be as low as possible too. When it’s way lower than average elapsed time, it indicates that the last XX% requests have dramatically higher response times than lower ones,

Standard Deviation - should be low. A high deviation indicates discrepancies in responses times, which translates to response time spikes.

πŸ”— Source: octoperf.com

Q8: Why would you conduct Volume Testing?

Topic: Performance Testing
Difficulty: ⭐⭐⭐⭐⭐

Volume testing determines how efficiently software performs with a large, projected amounts of data. It is also known as flood testing because the test floods the system with data.

πŸ”— Source: stackify.com

Thanks πŸ™Œ for reading and good luck on your interview!
Check more FullStack Interview Questions & Answers on πŸ‘‰ www.fullstack.cafe

Discover and read more posts from Alex Ershov
get started
post commentsBe the first to share your opinion
Show more replies