Performance Testing


Top 25 HP LoadRunner Interview Questions and Answers

Top 25 HP LoadRunner Interview Questions and Answers

Q1. What is the difference between risk and failure?

Risk is potential problem that has not yet occurred but is likely to happen and that may cause the failure of the software product.
Failure for the end user is deviation of the component or system from its expected delivery or expected product.

Q2. What are different components of Load Runner tool?

Load runner has following components:

Vugen: Vugen is used to create the automated performance scripts.
Controller: It is used to organize, drive, manage and monitors the load tests.
Analysis: It helps us to view and compare the test results.
Load Generators (LG): It is the component which is responsible to generate and run the Vusers to put load on the system.

Q3. What is correlation and how do you find it?

Correlation is used to find out the data which is unique for every run such as session ids, or unique ids which change every time we perform the step. They can be found out by comparing the same scripts manually or automatically in Load runner

Q4. How many sections are there in load runner vugen?

There are basically 3 sections:

  • Vuser_init: At this section, the starting transactions such as login etc is defined.
  • Action: this lists all the actions performed.
  • Vuser_end: at this section, we define the logout or closing functions.

Q5. How many logging options are available in load runner and when do we use them?

    • Standard Log Option: When you select Standard log, it creates a standard log of functions and messages sent during script execution which can be used for debugging. Disable this option for large load testing scenarios. When you copy a script to a scenario, logging is automatically disabled.
    • Extended Log Option: Select extended log to create an extended log, including warnings and other messages. Disable this option for large load testing scenarios. When you copy a script to a scenario, logging is automatically disabled. We can specify which additional information should be added to the extended log using the extended log options.

Q6. What do you mean by scenario in load runner?

A scenario defines the events that occur during each testing session. For example, a scenario defines and controls the number of users to emulate, the actions to be performed, and the machines on which the virtual users run their emulations.

Q7. How you can capture the dynamic value in load runner, explain the function used?

We can capture the dynamic value by “web_reg_save_param” function. The syntax for the function is “web_reg_save_param (“ID1Value”, “LB= value=\””, “RB=\””, “Ord=1”, LAST);” if you specify ORD= ALL it will takes all the values and form an array

Q8. What does lr_abort function do in HP Load Runner?

It aborts the execution of script and end the execution if any error occurs. For this we need to uncheck continue on error in runtime settings.

Q9. Have you ever handled a “captcha”? What are the challenges you faced?

Captcha can’t be detected by load runner so in need to handle that we can ask the dev to disable the functionality or to make it static value. Another way is to send the captcha value in response so that we can correlate it.

Q10. What is the use of “lr_paramarr_random” function and where we use it?

This is used to pass random values in any code where the values are captured by ordinal all function.

Q11. What is the extension of scenario file in load runner?

It is saved as .lrs.

Q12. How many check points are available in LoadRunner?

We have mainly 2 check points:

  • Image Check
  • Text Check

Q13. How to create monitor in Load Runner?

  • On My Performance Center navigation bar, select Resources > Test Resources.
  • Click New Monitor Profile. The Create New Monitor Profile dialog box enables you to add a new monitor profile.
  • In the Monitor Profile page, click Add Monitor button. Select monitor in Add New Monitor page.
  • In the Edit Monitor dialog box, enter the required information and select the counters that you want to monitor. The Edit Monitor page varies depending on monitor type you select.

Q14. What is the difference between HTML and URL based recording in LoadRunner?

HTML level will generate a web_submit_form statement that only records options an end user is allowed to see and change.
URL level will generate a web_submit_data statement that records all data that was actually sent from the browser to the server.

Q15. What is 90% in Load Runner report?

If you arrange 100 response times from good to bad i.e. in ascending order. The 90 percentile response time is the 90th response time. So, if 90th response time is in the acceptable range, we can say 90 out of 100 response times are in the acceptable range. Other 10 might be in the acceptable range or may not.

Q16. If a page has 5 products and you have 5 virtual users, how will you perform click on one product??

We can parameterize 5 links with sequential iteration, So that each virtual user picks one link sequentially and executes it.

Q17. What is goal oriented scenario? What goals can be achieved through it?

Load Runner provides you with five different types of goals in a goal oriented scenario:

  • Number of Virtual Users
  • Hits per second
  • Transactions per second
  • Pages per minute
  • Transaction response time

Q18. Tell any default monitoring tool which comes with windows?

“Perfmon” is a default monitoring tool which is inbuilt in all windows system which can be called by typing “perfmon” in run.

Q19. Where do you set automatic correlation options?

Automatic correlation from web point of view can be set in recording options and in correlation tab. We can enable correlation for the entire script and choose either online messages or offline actions where we can define rules for that correlation.

Q20. Have you worked on user defined functions in LoadRunner? How can we create them?

Before we create the User Defined functions, we need to create the external library (DLL) with the function. We add this library to VuGen bin directory. Once the library is added, we assign user defined function as a parameter. The function should have the following format: __declspec (dllexport) char* (char*, char*)\.

Q21. How can you debug a Load Runner script?

VuGen contains two options to debug Vuser scripts:

  • Run Step by Step command.
  • Putting breakpoints in a script.

We can also manually set the message class within the script using the lr_set_debug_message function.

Q22. What changes can you make in run time settings of Load Runner?

There are four run-time settings that can be done:

  • Log: Logging can be set to standard or disabled.
  • Pacing: This contains iteration count.

Q23. Name different selection methods while selecting data from a file in Load Runner?

It can be done in 4 ways:

  • Sequential
  • Random
  • Unique
  • Parameter Name.

Q24. How can we find out database issues in our application?

Data resource graphs and monitors can be used to determine any such issue in database. In LoadRunner, we can specify the resource which needs to be measured before the controller runs.

Q25. What type of graphs available in Load Runner?

There are following types of graphs:

  • Network delay time graph
  • Transaction response time graphs
  • Hits/second graph
  • Pages download/second Graph.


Top 25 Performance Testing Interview Questions and Answers

Top 25 Performance Testing Interview Questions and Answers

Q1. What is Performance testing?

Performance testing is a discipline where we test our system to evaluate the system performance when subjected to virtual user load.

Q2. How is Load Testing different from Stress Testing?

Load Testing: It is the simplest form of testing which is done by increasing load step by step to reach the defined limit or goal.
Stress Testing: We can also call it as negative testing as we test the system beyond its capacity to find out the break point of the system.

Q3. What is concurrent user load in performance testing?

Concurrent user load can be defined as when multiple users hit to any functionality or transaction at the same time.

Q4. What is a protocol and how many you have worked on?

A protocol is a set of rules for information communication between 2 or more systems. There are many protocols such as Http/Https, FTP, Web Services, Citrix.Mostly used protocols are Http/Https and Web Services.

Q5. How can you check the system for memory leaks?

We can identify the memory leaks by running load tests for a longer durations and analyzing the ram of the system, generally it will grow with time and will lead to deadlocks and breakpoints.

Q6. Can you tell a scenario where throughput is increasing with response time means when they are directly proportional?

Yes it can be possible when you have lots of CSS (Cascading Style Sheet) in your application which takes a lot of time to display. We can expect this type of situation where throughput will be increasing as well as the response time.

Q7. What is Think Time?

Think time can be defined as the real time wait between 2 consecutive transactions. For Example a real time user waits to evaluate the data he received before performing the next step, that wait time he takes can be stated as think time.

Q8. How do you find out the performance bottlenecks?

Performance Bottlenecks can be identified by using different counters such as response time, throughput, hits/sec, network delay graph. We can analyze them and tell where the suspected performance bottleneck is.

Q9. How you can calculate pacing for your application?

We can calculate pacing by the formula as
No. of users = (Response Time in seconds + Pacing in seconds) * TPS
TPS is transaction per Second.

Q10. What is Ramp-Up and Ramp-Down?

The rate at which we increase the load on system by adding virtual users is called ramp up.
The rate at which virtual users exit from system is called as ramp down.

Q11. What is performance engineering, how its different form performance testing?

Performance testing is the process where we identify the issues in the system.
Performance engineering is the process where we address the issues and rectify them.

Q12. How do you do the analysis of the system for identifying issues?

We can study the various graphs generated by the tool such as Response time, throughput graph, running Vusers graph etc. and also we can see the server logs to identify the issues in system.

Q13. Have you worked on some analysis tools, if yes explain?

Yes, there are many tools available for analysis such as Dynatrace, Cawily. We can use these tools to see the exact transactions and queries running on the AUT to identify the root cause of any issue or failure.

Q14. What is IP spoofing and why is it used?

IP spoofing is used to spoof the system so that each host machine can use many different IPs to create hypothetical environment where system believes that request are coming from different locations.

Q15. List down any challenge you faced in your performance career and how did you overcome it?

Yes, I faced many challenges like defining the scope of application, break points which I over came by studying the historical data of application and based on them I decided the values, setting up the performance environment including proxy bypassing, connecting to Server under test.

Q16. What can be key factors in deciding whether we need a performance testing for any application before going live?

We can decide based on following factors:

  • How many are the target users?
  • How much application will grow with period of time?
  • Who all are competitors and how much traffic they general get?
  • How many critical scenarios we have?
  • How much will be the business loss if site is unavailable?

Q17 . Have you ever seen “No Data available for current settings”? When do we get this?

Yes, this comes when you do not have enough data in your data pool. So, we need to make sure that we have created the data pool as per the settings of conductor.

Q18. What is difference between Scalability testing and Load testing?

Load testing is done to see the application behaviour under defined load.
Scalability testing is done beyond the defined load to see how scalable your application is and find out the breakpoint.

Q19. What is difference between Simultaneous user and Concurrent user?

Simultaneous users wait for other user to complete then it starts its activity whereas in concurrent users, it can be like 2 users log into the system and perform different activities at the same time.

Q20. How to find bottlenecks and resolve them?

We first need to analyze all the counters like Memory Leaks, Avg. Time taken, Concurrent user load, throughput etc. Based on the analysis results, we will find out where bottleneck could occur. Then parameters need to be fine-tuned in DB2 Server like Queries, Stored Procedures, PL/SQL, Indexes, Locks, No of open connections etc.

Q21. What best practice you will follow if asked for setting up a performance bed?

  • We need to get the clear understanding of the architecture of system under test.
  • Have to setup the best possible replica of production aka stage.
  • Understand the usage growth of application as well as under different time zones
  • Identifying the critical flows of application.

Q22. What is performance tuning? How many types are there?

Performance tuning is done for improving the system performance:

  • Hardware Tuning: Optimizing, adding or replacing hardware components of the system and changes done in the infrastructure level to improve system 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.

Q23. What are the key counters you monitor during a load test?

They can be transaction response time, memory usage, disk space, and CPU time.

Q24. What is the difference between Overlay graph and Correlate graph?

Overlay Graph: It overlay the content of two graphs that shares a common x-axis. Left Y-axis on the merged graph show the current graph value & Right Y-axis show the value of Y-axis of the graph that was merged.
Correlate Graph: Plot Y-axis of two graphs against each other. The active graph Y-axis becomes X-axis of merged graph. Y-axis of the graph that was merged becomes merged graph Y-axis.

Q25. What is the difference between hits/sec and req/sec?

  • Hits per second means the number of hits the server receives in one second from the vuser.
  • Request per second is the number of request vuser will receive from the server