Performance Testing Interview Questions To Land That Job

performance testing interview questionsDo you have performance testing interview questions scheduled? If so you might as well acquaint yourself with the nature of possible interview questions you might encounter. It is always a good idea to anticipate what you might be asked by doing a review of Performance Testing questions. To begin with, performance testing is done to determine the time of response of some the system’s components and the way it performs when doing a specific work load. Generally, performance testing is measured in terms of user activity’s response time. It is made for testing the system’s performance at a condition of high stress and high load. It identifies architectural design drawbacks helping the application get tuned. Here is a course entitled Web Application Performance Testing that will discuss what the practices of the industry are to conduct a test of performance.

The following is included in performance testing:

  • Providing reporting engines and robust analysis
  • Monitoring the components of the system under a load that is controlled
  • Consistently repeating the load
  • Determination of the time of response
  • Increasing the user numbers that interact with the system.

Who does load tuning after load testing?

Tuning software is done by a developer who is responsible for improving the performance of the system. Testers of performance can suggest or recommend to the development team for software tuning. However, only developers do tuning.

In load testing, what is tuning software?

Software tuning is the process of fixing the bottlenecked software, identifying the level of software bottlenecks by getting the database and code profiled. Modifying or fine tuning the software to fix the bottlenecks is called tuning software.

In load testing, what is tuning hardware?

If during the load test, there is a specific bottleneck identified, the process of bottleneck elimination is called tuning the hardware.

In load testing, what are concurrent hits of a user?

When many users run the load tests, it is called a concurrent user hit when users hit an application step common without any difference in terms of milliseconds. The point of concurrency will be added as one of the virtual user steps. Thus, all zip line users will wait at the point of concurrency if they reach this ahead of time. Once the point of concurrency is hit by all users, they can begin to hit the requests.

What are the criteria for entering and exiting in testing performance?

You can begin testing application performance during the designs. After evaluating these tests, you can collect and analyze the results for performance to be improved. The process of performance tuning will be done throughout the life cycle of the application development. Performance tuning is done based on factors like application release time and application stability user requirement, scalability under load, reliability, performance tolerance and stress tolerance criteria. The end criteria in some projects are defined based on the performance of the client, defined for each application section. When a product gets to the level expected then this is considered as performance testing end criteria.

What is a protocol?

A protocol is a set of defined rules for information transmission between 2 or more multiple systems is called a protocol. This is used for test script recording in most of the load and performance testing tools. So as a load test /performance engineer, you need to be familiar with the used protocol for script recording. You can get the related protocol information not from the developers but actually from the architects.

What drawbacks do manual load tests have?

The manual load testing drawbacks are:

  • It is very expensive to do Manual Testing, as real users charge by the hour.
  • With manual load testing, load testing for longer durations like for 7 days won’t be possible, as users really work a maximum of eight hours daily.
  • You will not get accuracy for results correlation as there are delays between actions of users.
  • It is hard to do results collection as the results capture each other.
  • It is hard to do.

What is the life-cycle of testing?

  • Planning the Test
  • -Developing the Test
  • Execution of the Test
  • Analysis of Results

What are the tools of testing performance?

There are popular commercial tools for testing which include:

  • Borland Silk Performer, which allows behavior prediction of environments of e-business to be predicted before it is deployed, regardless of complexity and size.
  • IBM’s Rational Performance Testing- allows the comparison of test metrics versus running tests.
  • RadView’s WebLoad- allows comparison of test metrics versus running tests.
  • Compuware’s QAload- is used for database and web based systems.
  • HP’s LoadRunner- this is for other applications and web applications. It provides various environment applications, database and platforms. Evaluating each tracking of bottlenecks and components’ measurements is monitored by the number of servers. You might want to check out this course entitled HP Quick Test Professional that helps you learn how to use HP Quick Test Professional to automate a process of testing for web applications.

What are performance testing sub-genres?

Here is the list of Performance Testing sub-genres:

  • Soak testing is performed to understand the behavior of the application when applying load for long time periods and what happens to the application’s response time and stability.
  • Spike testing is the application change that happens when suddenly large numbers of users decreases or increases.
  • Volume testing is application testing to determine how much data amounts it can handle effective and efficiency.
  • Stress testing is done for evaluating the performance of a system by increasing user numbers to more than the specified requirements limits. This is done to comprehend the levels an application will crash.
  • Load testing is done to examine an application’s performance for specified load expected by increasing the number of users performing specific application tasks in a specific period of time on the application.

Why does performance testing need to happen?

Performance testing is done for evaluating the performance of an application under some stress and load condition. Generally, this is measured in terms of the user activity’s response time. It is designed for testing a whole system’s performance at high stress and high load conditions. For example, if customers like withdrawing funds from an ATM. If the response of the machine after card insertion takes more than five minute the system fails to function. Performance Testing Types include capacity, stress and load. Capacity is the measure of the capacity overall and what time a time of response becomes unacceptable. Stress examines behavior of application under activity in peak bursts. Load is analogous to testing volume and to determine how applications deal with data in large amounts.

How to identify a memory leak?

You need to run the load testing for longer durations when you are trying to identify a leak in memory. When you are running test loads for longer durations, the memory of the server in question will gradually grow if there is a leak in memory.

What is profiling?

Profiling is a process of pinpointing a bottleneck performance at minute levels. This is done by performance teams for engineering which includes developers or performance testers. You can profile in any application layer getting tested. If you need to do application profiling you might need to use tools for performance profiling of application servers. When profiling an application server, you identify issues at the level of code such as memory intensive API’s If the database is what you are profiling using the tools for database profiling, you can identify a number of things such as a full table scan query, high cost queries and the number of executed SQLs.

What are the automated testing phases of performance?

There are involved phases in testing automated performance and these are:

  • Design/Planning- this is the first phase where teams gather the performance testing requirements. This can include team requirements, system requirements, technical requirements and business requirements.
  • Build- this phase is made up of requirements that are automated and gathered during the phase of planning/design.
  • Execution- this phase is actually accomplished in multiple phases. It consists of various testing types like benchmarking testing and baseline testing.
  • Tuning and Analyzing- during testing of performance, you can capture all the related system details like System Resources and Response Time for identifying the system’s major bottlenecks. After these are identified, you will then be able to improve the overall performance of the system.

What is throughput in performance testing?

In Performance Testing, throughput is the data amount sent by the server in response to the request of the client in a given time period. It can also be the unit number of work you can handle per time unit. You measure throughput in terms of per second requests, reports per year, hits per second or daily calls, etc. In many cases, you calculate throughputs in bits per second. Generally you get higher performance with higher throughput value.

How is JMeter spike testing performed?

To perform spike testing, you need to understand what change happens on applications when suddenly large numbers of users decrease or increase. You can achieve JMeter spike testing using a timer that is synchronized. You block the threads by getting the timer synchronized until a specific thread number is getting a blocking. Next, one a large load is instantaneously created, release these.

What are baseline tests?

These are tests done on applications before coming to conclusions. It can be either the validation or verification process which gives an idea of what the next stage needs to do. It is a testing technique that is very important, and if properly done, eighty five per cent of problems with performance can be solved and identified when proper tests of baseline are accomplished.

How are benchmark and baseline tests different?

The process of running tests in sets is to capture information performance is baseline testing. This info can be used as a reference point when changes in the future are made to applications. On the other hand, benchmark tests are the process of comparing the performance of your system against industry standards giving by other organizations. You can, for example, run baseline tests on applications, analyze the collected results and modify many indexes on the database of a SQL Server before running the identical test once more using the previous same results to find out whether or not new results are the same, worse or better. Here is a course entitled Software Testing which will help you learn all about testing software from experts in the industry.

Hope this helps! If you want more information you might want to check out this course entitled The Best Software Testing Training You Will Ever Get which helps you learn and master software testing from the experts quickly. You might also want to read an article on the subject of being interviewed entitled Business Objects Interview Questions: Your Guide to Getting Hired.