1) Which protocols are supported by Loadrunner ?
As of Loadrunner 9.5 following protocols are supported. This will increase with future releases. The interviewer is not looking for you to name all but a few (say 5-7 protocols).
Application Deployment Solution: For the Citrix protocol.
Client/Server: For DB2 CLI, DNS, MS SQL, ODBC, Oracle (2-tier), Sybase
Ctlib, Sybase Dblib, and Windows Sockets protocols.
Custom: For C templates, Visual Basic templates, Java templates,
Distributed Components: For COM/DCOM, Corba-Java, and Rmi -Java protocols.
E-business: For FTP, LDAP, Palm, Web (HTTP/HTML), Web Services, and the dual Web/Winsocket protocols.
Enterprise Java Beans: For EJB Testing and Rmi-Java protocols.
ERP/CRM: For Baan, Oracle NCA, Peoplesoft-Tuxedo, Peoplesoft 8,
SAPGUI, SAP-Web, and Siebel (Siebel-DB2CLI, Siebel-MSSQL, Siebel-Web, and Siebel-Oracle) protocols.
Legacy: For Terminal Emulation (RTE).
Mailing Services: Internet Messaging (IMAP), MS Exchange (MAPI), POP3, and SMTP.
Middleware: Jacada and Tuxedo (6, 7) protocols.
Streaming: For MediaPlayer and RealPlayer protocols.
2) Which components have you used in Loadrunner ?
Vuser generator - For generating Scripts
Controller - For creating and executing scenarios
Analyzer - To analyze results
Learn more about Loadrunner and its architecture in this video lesson.
3) What is load runner Agent.
Agent is interface between host machine and controller
4) What is the process for developing a Vuser Script ?
There are 4 steps for developing a vuser script.
1-Record the Vuser Script .
2-Playback / Enhance the recorded vuser script.
3- Define the various run-time settings & check
4- Incorporate the script in a Loadrunner scenario
Learn more about Vuser Script development in Video tutorial here.
5) How many VUsers are required for load testing ?
This is essentially a trick question.
The number of VUsers required depends on your system under test , network configurations , hardware settings, memory, operating system, software applications objective of performance test. There can not be any generic value for Vuser.
6) What is the difference in running the Vuser as a process and as a thread? Which is more advantageous way of running Vuser?
When Vuser is run as a process the same driver program is loaded into memory for each Vuser. This will take a large amount of memory and will limit the number of Vusers you can run on a single generator
When Vuser is run as a thread, only one instance of driver program is shared by given number of Vusers. You can run more number of Vusers on a single generator using the multi-threading mode.
7) What is the significance of "Vuser-init "?
Vuser-init records the pre-operations also called the initialization operations before the actual application is run.
8) What is extended log?
An extended log will store information such as data returned by server and advanced trace, parameter substitution and much other information depending on the options you select in run-time settings.
9) Why do you create parameter?
To create a parameter you will replace the hard coded value within the script and replace it with a parameter. This allows a single Vuser to be run many times, and to use different data on each run. It helps in stimulating more real life server demand as it prevents server from caching results.
Learn more about parameterization in this Video Tutorial
10) How will you divide your script into multiple Actions? Why?
I will divide the script into Actions based on the functionality. For example, Once Action for Logining into Application, another Action for booking and so on.
Actions increase code reusability, reduce maintenance time and hence, decrease costs.
11) How can you set the number of Vusers in Loadrunner ?
You can set the number of Vusers in the controller section while creating your scenarios. Many other advanced options like ramp-up, ramp-down of Vusers are also available in the Controller section.
Learn more about Controller & Scenario creation
12) What are monitors?
Monitors are used to "monitor" performance bottlenecks. They are used in Controller section of Load Runner
13) What are the types of check points is available in LoadRunner?
Loadrunner provides two types of check points
a) Image Checkpoints : This checkpoint will verify the presence of an image on a page during run-time
b) Text Checkpoint : This checkpoint will verify the presence of a text-string on a page during run-time
Both of the above checkpoints can be added in Vugen.
Learn more about Checkpoints
14) What kind of problem we can face regarding hardware, software, network and memory bottleneck during the performance test?
The possible issues amongst others could be -
1. Lack of Hardware
2. Memory Leakage
3. Network related issues.
4. Application/Software error
15) What would be your recommendation to improve performance measure?
Fine Tuning of network, database, and app and web server is recommended.
At the network level try to optimize the latency and bandwidth.
At database level, verify all indexes and sequences by running profilers. You may also optimize your database queries.
At the App server level, run profilers for finding the memory leaks in the application
At the web server level you can use monitors and optimize the throughput and other related metrics of the server.
16) What is Rendezvous point?
Rendezvous point is Synchronization/Wait point . Rendezvous points instruct Vusers to wait during test execution for multiple Vusers to arrive at a certain point, in order that they may simultaneously perform a task.
The significance of this is to emulate some heavy load only to particular portion of the scenario and test the behavior of the application.
17) What is Correlation?
Correlation is used to obtain data which is unique for each run of your test script (ex: session ids). While recording, these dynamic values are hard-coded in your script causing the script to fail during playback. Correlation is a technique where dynamic values are not hard-coded in your script but are extracted at run-time to avoid failure.
Learn more about Correlation in this video tutorial.
18) What is Manual Correlation?
Its correlation technique which uses function Web_reg_save_param() to identify dynamic values in your script. It is important that your playback your script to verify that correlation is done successfully.
Learn Manual Correlation.
19) How do you identify the performance bottlenecks? -
Performance Bottlenecks can be detected by using monitors.
These monitors might be application server monitors, web server monitors, database server monitors and network monitors.
They help in finding out the troubled area in our scenario which causes increased response time.
The measurements made are usually performance response time, throughput, hits/sec, network delay graphs, etc
20) Which function is used to end a nested transaction ?
The function is - lr_end_sub_transaction
Learn More about Transactions in this video.
21) What is the difference between transaction and transaction instance in loadrunner ?
A transaction is used to measure time between executions of certain statements
A transaction instance is used for performance analysis
22) While the script is running we find some values that may be need to be correlated? Is it possible to do manual correlation for those values?
NO. Its not possible to do correlation when script is running but you can make changes once script has stopped.
23) What is Elapsed Time in Load Runner?
Elapsed time designates how much time has passed since the launch of the current event and is measured differently for different screens as given below -
In Scenario Status Window - Elapsed time is measured from the moment you hit "Start Scenario" or " Initialize/Run Vuser?" button.
In "Vuser" window elapsed time is measured form the moment Vuser enters "running" state.
24) Does caching have a negative effect on your load testing results ?
Yes. Caching has a negative effect. Cache is temporary memory which stores your browsing history. When you visit a page for the SECOND time , the time required to load the page will be less than that required to load the page for your first visit since much of the information required to load the page is grabbed from the cache instead of the server. This will effect the response times in your test. Hence, it is recommended to turn-off caching.
25) What is the difference between Overlay graph and Correlate graph?
Overlay Graph: It will overlay the content of two graphs that shares a common x-axis
Correlate Graph: It will Plot the Y-axis of two graphs against each other.
Learn more about Analyzer
26) What is the difference between lr_error_message and lr_debug _message?
lr_error_message - Sends a error message to the LoadRunner Controller's Output window
lr_debug _message - Sends a debug message to the LoadRunner Controller's Output window
27) What is the difference between load , performance testing ?
The objective of performance testing is to check whether an application loads/updates within stipulate time limit (say 2 seconds). It uses metrics like response time , Requests per second. It is carried out under production - like load conditions.
The objective of load testing is to check scalability of the system. For example, finding out the maximum number of users supported by the system within certain specifications.
28) You have created several Auto Correlation rules. A new tester on your team is preparing to record a group of scripts on the same application on his workstation. What can you do to provide the tester with the correlation rules?
I would export the Auto Correlation rules to a .cor file, and then have the new team member import the .cor file into his Auto Correlation rules
29) You want to emulate a call center for an airline. All representatives login in the morning, perform their business processes, and log out at night. In one day, a representative will Create 40 flight reservations, Modify 10 flight reservations, and Search for 20 flight reservations. A representative cannot perform a Modify without performing a Search first. How would you design the run logic ?
Create - 67% Search - 16% Block0 - 17% Search Modify
30) Where should you add a web_reg_save_param function to a script?
Before the step that retrieves the dynamic value
31) You want to have each step in your script measured as a transaction in the Controller and not shown in the Replay Log in VuGen. How can you accomplish this?
This can be done by enabling the automatic transaction in the Run-time settings
32) Which web protocol recording level generates the web_submit_form function?
The URL protocol generates this function.
33) What is load testing?
Load testing is to test that if the application works well with the loads from large number of simultaneous users and transactions. It also used to determine whether it can handle peak usage periods.
34) What is load runner?
Load Runner is a performance testing tool from HP. This tool supports all aspects such as Load, Stress, Endurance, data volume and spike Testing.
35) What are all the components of LoadRunner?
Following are the components of LoadRunner
- The Virtual User Generator
- Controller, and the Agent process
- LoadRunner Analysis and Monitoring
- LoadRunner Books Online
36) What Component of LoadRunner is used to record a script?
The Virtual User Generator (VuGen) component is used to record a script and it enables you to develop Vuser scripts for a variety of application types and communication protocols.
37) What is a rendezvous point?
Rendezvous points are introduced into Vuser scripts to simulate more users on the server. Rendezvous points instruct Vusers to wait during test execution in order to perform the tasks simultaneously.
For example, in a banking application, Rendezvous points are inserted for 100+ multiple users to deposit money simultaneously.
38) What is a scenario?
A scenario is nothing but an event that occurs for each testing session.
For example, a scenario defines
- Number of users
- Action to be performed
- Virtual machines system
39) How can we debug a LoadRunner script?
VuGen contains two options to debug Vuser scripts
- Run Step by Step command and
We can also manually set the message class within your script using the lr_set_debug_message function.
40) How can we perform functional testing under load?
Functionality under load can be tested by running several Vusers concurrently. By increasing the Vusers, it is necessary to determine how much load the server can sustain.
41) What is the relationship between Response Time and Throughput?
The Throughput shows the amount of data in bytes that the Vusers received from the server in a second. When It is compared with transaction response time, throughput and response time get decreased.
The peak throughput and highest response time would occur approximately at the same time.
42) What does vuser_init and vuser_end action contain?
Vuser_init action contains procedures to login to a server and Vuser_end section contains log off procedures.
43) What is the difference between standard log and extended log?
The standard log sends a subset of functions and messages to the output log and subset of functions depends on the Vuser type.
Extended log sends a detailed script execution messages to the output log. It is mainly used during debugging when user needs information about Parameter substitution.
44) What are all the types of Goals in Goal-Oriented Scenario of Load Runner?
Load Runner provides you with five different types of goals:
- Number of concurrent Vusers
- Number of hits per second
- Number of transactions per second
- Number of pages per minute
- Transaction response time
45) What is a function to capture dynamic values in the web vuser script?
Web_reg_save_param is the function that saves dynamic data information to a parameter.
46) What are the Load Runner testing process?
Following are the testing process in LoadRunner:
- Plan load test
- Create Vuser Scripts
- Define Scenario
- Run Scenario
- Analyze results
47) What is remote command launcher?
The remote command launcher enables the controller to start applications in the host machine.
48) How can we develop the database vuser script?
Vuser scripts can be developed either by recording with the load vuser script generator or by using Load runner vuser script template.
49) How do you load a load runner Agent?
While running the scenario, loadrunner controller instructs the remote agent dispatcher to launch loadrunner agent. The controller instructs the loadrunner agent to initialize, run, pause and stop the vusers.
50) What is the difference between hits/second and requests/second?
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 the vuser will request from the server.
51) What are the advantages of load runner?
Following are the advantages of Load Runner:
- Reduces human intervention
- Reduces the requirement of the systems
- Helps in the better usage of time and money
- Effective utilization of automation
- Single point execution
52) What is the vuser in the scenario?
The vuser is the virtual users who can simulate the real users. The virtual users who take the place of real users’s operating client software, such as IE sending requests using the HTTP protocol to IIS or Apache web servers.
53) How do we write a user defined function in LoadRunner?
Use should create the external library that contains the function. This library must then be added to the bin directory of VuGen. And then, the user-defined function can be assigned as a parameter.
54) What are the changes that can be made to run-time settings?
There are four run-time settings that can be made:
- Pacing: This contains iteration count.
- Log: Logging can be set to standard or disabled.
- Think Time: Capable of setting think time to be ignored or replayed.
- General: Allows the setting of Vusers for processes or multithreading.
55) How can we find database related issues?
Monitors and the Data Resource Graph can be used to find database related issues. LoadRunner allow the tester to specify the resource that needs to be measured before the controller is run.
56) How many types of graphs are available in LoadRunner?
There are 5 types of graphs:
- Network delay time graph – displays the time that elapses between request and response
- Two transaction response time graphs – one transation response time graph for load and another one for percentile
- Hits/second graph – Shows application traffic volume
- Pages download/second graph – shows the rate at which pages are downloaded per second
57) How can performance bottlenecks can be identified?
Monitors can be used to detect performance bottlenecks. These include network, web server, application server, and database server monitors.
These monitors can be used to locate trouble spots in scenarios that cause increase in response time and throughput, network delays, performance response time, hits/second, etc.
58) What is ramp up and how it can be set?
Ramp up is gradually increasing the load on a server and can be simulated by gradually increasing the number of Vusers. This feature can be found in the Scenario Scheduling Options.
59) How correlation can be performed?
Correlation can be performed in two ways:
- Use the scan function to search for correlations and select a value from the result.
- Record a pair of scripts and then compare them to each other.
60) Where are automatic correlation options set?
The automatic correlation is set in recording options area on the correlation tab. Correlation can be enabled for the full script and rules for correlation can be defined.
Automatic correlation can be performed on a database by viewing the output window, scanning for correlation, and selecting the value that will be used.
61) What is the benefit of running a Vuser script as a thread?
The advantage of running a Vuser script as a thread which allows more Vusers to be used for one load generator. Running Vuser scripts as processes utilizes a lot of memory because all of the loaded scripts use the same driver.
This limits the number of Vuser scripts that can be run on one generator.
62) What is the difference between Overlay graph and Correlate graph?
Overlay graph has one X axis and 2 Y-axis. Left Y-axis on the merged graph shows the current graph’s value & Right Y-axis show the value of Y-axis of the graph that was merged.
There are two graphs and the active graph’s Y-axis becomes X-axis of merged graph. Y-axis of the graph that was merged becomes merged graph’s Y-axis.
63) What are the three sections of a Vuser script and what is the purpose of each one?
Following are the three sections of Vuser script and they are as follows:
- Vuser_init - Used for recording the logon.
- Actions - Used for recording the business process.
- Vuser_end - Used for recording the logoff.
64) What are the four selection methods when choosing data from a data file?
Following are the four selection methods:
- Parameter name
65) What should be done to view parameter substitution in the Execution Log?
Parameter substitution can be viewed in the extended log in the Run time settings.
66) What tools are required to analyze Vuser run results?
Following tools are required to analyze Vuser run results:
- Execution Log
- Run-Time Viewer and
- Mercury Test Results window
67) What is difference between Manual scenario and Goal oriented scenario?
Following are the differences between Manual and Goal Oriented scenario:
|Main purpose is to learn how many Vusers can run concurrently||Goal may be throughput, response time, or number of concurrent Vusers|
|Gives you manual control over how many Vusers run and at what time||Load Runner manages Vusers automatically|
68) What are all the reasons to use the Server Resources Monitor?
Server resources monitor is used to find how much data is coming from Cache and helps to find out what are all the parts of the system have bottlenecks.
69) What is the purpose of selecting ‘Show browser’ during replay in the General Options settings?
‘Show Browser’ setting is used to see the pages that appear during playback. This is useful for debugging Vuser during the initial stages of Web Vuser creation.
70) For what purpose, User will be using ‘continue on’ error?
Continue on should be set only when making Execution Logs more descriptive or adding logic to the Vuser.
71) What is the purpose of a LoadRunner transaction?
The purpose of a Load Runner transaction is to measure one or more steps/user actions of a business process.
72) Why do you create parameters?
Parameters are like script variables and they are used to vary input to the server to emulate real users.
- Different sets of data are sent to the server whenever the script is run.
- Better simulate the usage model for more accurate testing from the Controller and one script can emulate many different users on the system.
73) What is lr_output_message?
The lr_output_message is a function that sends notifications to the Controller Output window and to the Vuser log file.
74) In a Web server, Database and Network are all working fine and now, Where could be the problem?
The problem could be in the system itself or in the application server or in the code written for the application.
75) What is VuGen Recording and Scripting?
LoadRunner script code is obtained by recording in the ANSI C language syntax and it can be viewed in the script view.
76) What is Performance testing in LoadRunner?
Performance testing can be done by calculating the timing for both read and update transactions and check whether system functions are being performed in an acceptable timeframe. In a multi user environment, it is necessary to determine the effect of multiple transactions on the timing of a single transaction.
77) What is the Configuration of systems when using Load Runner?
The configuration of systems refers to that of the client machines in which we will run Vusers. The configuration of client machine includes its hardware settings, memory, operating system, software applications, development tools, etc.
This system component configuration should match with the overall system configuration so as to achieve the load testing objectives.
78) What is the use lr_abort function?
The lr_abort function is used to abort the execution of a Vuser script. It instructs the Vuser to stop executing the Actions section, execute the vuser_end section and end the execution.
79) What is think time?
Think time is the time where a real user waits between actions.
When a user receives data from a server or other applications, the user may wait several seconds to review the data before responding. This time delay is called as think time.
80) How Load Runner interacts with the application?
Protocol is used in Load Runner to interact with the application.
81) What is the latest version and language used in Load Runner?
As of 20-Feb-2013 Load Runner 11.5 is the latest version and VUser script is used like a C Language.
Following languages are supported by LoadRunner:
- C Language
- Visual Basic Scripting
- Visual Basic For Applications
- Java Scripting
82) What are all the important protocols that Load Runner supports?
Following are the protocols that Load Runner can support are:
- .NET Record / Display
- Oracle E-Business
- Web and Multimedia
- Java Record and replay
- Remote desktop
- Web 2.0