Sie sind auf Seite 1von 68

LOAD RUNNER

Learn Basic Introduction & preliminaries of HP LoadRunner through FAQ's:


Q. 1: What is the process of manual correlation in LoadRunner?
It is the method adopted for capturing the dynamic data resulting from the server responses &
further reusing it in the script. It can be done in two ways like:
1.Manual correlation
2. Auto Correlation
<<<<<< =================== >>>>>>
Q. 2: What is the Load testing process in LoadRunner?
Step 1:
Planning the test: Involves development of a clearly defined test plan to ensure that the newly
developed test scenarios are able to accomplish the load-testing objectives.
Step 2:
Creation of Vusers: Involves creation of Vuser scripts which contain various tasks performed by every
Vuser, tasks performed by Vusers as a whole, and tasks measured as transactions.
Step 3:
Creation of the scenarios: A scenario describes the events that occur during a testing session. It
includes a list of machines, scripts, and Vusers that run during the scenario. Scenarios are created by
using LoadRunner Controller. We can create manual scenarios as well as goal-oriented scenarios. In
manual scenarios, we define the number of Vusers, the load generator machines, and percentage of
Vusers to be assigned to each script. For web tests, we may create a goal-oriented scenario where
we define the goal that our test has to achieve. LoadRunner automatically builds a scenario for us.
Step 4:
Running the scenario: The load on the server is emulated by instructing multiple Vusers to perform
the tasks simultaneously. Before the testing, we set the scenario configuration and scheduling. We
can run the entire scenario, Vuser groups, or individual Vusers.
Step 5: Monitoring the scenario: Scenario execution is monitored using the LoadRunner online
runtime, transaction, system resource, Web resource, Web server resource, Web application server
resource, database server resource, network delay, streaming media resource, firewall server
resource, ERP server resource, and Java performance monitors.
Step 6:
Analyzing test results: During scenario execution, LoadRunner records the performance of the
application under different loads. We use LoadRunner's graphs and reports to analyze the
application's performance.
<<<<<< =================== >>>>>>
Q. 3 : When load and performance Testing are done?
Load testing is performed after the completion of interface (GUI) testing.
Single user testing focuses on functionality and user interface of a system component, while
application testing focuses on performance and reliability of an entire system.
For example, a typical application-testing scenario might depict 1000 users logging in simultaneously
to a system. This gives rise to issues such as what is the response time of the system, does it crash,
will it go with different software applications and platforms, can it hold so many hundreds and
thousands of users, etc.
<<<<<< =================== >>>>>>
Q. 4: What are the components of LoadRunner?
The components of LoadRunner are The Virtual User Generator, Controller, and the Agent process,
LoadRunner Analysis and Monitoring, LoadRunner Books Online.
<<<<<< =================== >>>>>>
Q. 5: What Component of LoadRunner are used for recording a Script?
Virtual User Generator (VuGen) component is used to record a script. It enables you to develop
Vuser scripts for a variety of application types and communication protocols.
<<<<<< =================== >>>>>>
Q. 6: What is a rendezvous point LoadRunner?
Rendezvous points are inserted into Vuser scripts to emulate heavy user load on the server.
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. For example, to emulate peak
load on the bank server, you can insert a rendezvous point instructing 100 Vusers to deposit cash
into their accounts at the same time.
<<<<<< =================== >>>>>>
Q. 7: What Component of LoadRunner are used to play Back the script in multi user mode?
Controller component is used to playback the script in multi-user mode. This is done during a
scenario run where a vuser script is executed by a number of vusers in a group.
<<<<<< =================== >>>>>>
Q. 8: What is a scenario in LoadRunner?
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.
<<<<<< =================== >>>>>>
Q. 9 : What is the recording mode for web Vuser script in LoadRunner?
We use VuGen to develop a Vuser script by recording a user performing typical business processes
on a client application. VuGen creates the script by recording the activity between the client and the
server.
For example, in web based applications, VuGen monitors the client end of the database and traces
all the requests sent to, and received from, the database server. We use VuGen to: Monitor the
communication between the application and the server; Generate the required function calls; and
Insert the generated function calls into a Vuser script.
<<<<<< =================== >>>>>>
Q. 10: Why do we create parameters in LoadRunner?
Parameters are like script variables. They are used to vary input to the server and to emulate real
users. Different sets of data are sent to the server each time the script is run. Better simulate the
usage model for more accurate testing from the Controller; one script can emulate many different
users on the system.
Learn Basic Introduction & preliminaries of HP LoadRunner through FAQ's:


Q. 11: What is a correlation in LoadRunner?
Correlation is used to obtain data which are unique for each run of the script and which are
generated by nested queries. Correlation provides the value to avoid errors arising out of duplicate
values and also optimizing the code (to avoid nested queries).
Corelations are of two types like :
1) Automatic correlation iinvolves setting of some rules for thecorrelation. It can be application
server specific. Here values are replaced by data which are created by these rules.
2) Manual correlation, the value we want to correlate is scanned and create correlation is used to
correlate.
<<<<<< =================== >>>>>>
Q. 12: How can we find out as to where correlation is required in LoadRunner?
There are two ways to find out the place of use of corelation
1) We can scan for correlations, and see the list of values which can be correlated. From this we can
pick a value to be correlated.
2) We can record two scripts and compare them.
<<<<<< =================== >>>>>>
Q. 13: Where can we set automatic correlation options in LoadRunner?
We can set the automatic correlation from web point of view in recording options and correlation
tab. Here we can enable correlation for the entire script and choose either issue online messages or
offline actions, where we can define rules for that correlation.
Automatic correlation for database can be done using show output window and scan for correlation
and picking the correlate query tab and choose which query value we want to correlate. If we know
the specific value to be correlated, we just do create correlation for the value and specify how the
value to be created.
<<<<<< =================== >>>>>>
Q. 14: What is the function to capture dynamic values in the web Vuser script in LoadRunner?
Web_reg_save_param function saves dynamic data information to a parameter.
<<<<<< =================== >>>>>>
Q. 15: When do you disable log in Virtual User Generator in LoadRunner?
Once we debug our script and verify that it is functional, we can enable logging for errors only. When
we add a script to a scenario, logging is automatically disabled.
<<<<<< =================== >>>>>>
Q. 16: When do we use standard and extended logs in LoadRunner?
Standard Log Option: It creates a standard log of functions and messages sent during script
execution to use for debugging.
It is suggested to disable this option for large load testing scenarios. When you copy a script to a
scenario, logging is automatically disabled.
Extended Log Option: Is selected to create an extended log, including warnings and other messages.
We can specify all additional information that needs to be added to the extended log.
<<<<<< =================== >>>>>>
Q. 17: How do we debug a script in LoadRunner?
VuGen contains two options to help debug Vuser scripts-the Run Step by Step command and
breakpoints.
The Debug settings in the Options dialog box allow us to determine the extent of the trace to be
performed during scenario execution.
The debug information is written to the Output window. We can manually set the message class
within our script using the lr_set_debug_message function. This is useful if we want to receive debug
information about a small section of the script only.
<<<<<< =================== >>>>>>
Q. 18:How do we write user defined functions in LoadRunner?
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 then we assign user
defined function as a parameter.
The function should have the following format: __declspec (dllexport) char* (char*, char). Few
examples of user defined functions are GetVersion, GetCurrentTime, GetPltform etc.
<<<<<< =================== >>>>>>
Q. 19: What are the changes possible to be made in run-time settings in LoadRunner?
The Run Time Settings are:
a) Pacing - Has iteration count.
b) Log - Needs to Disable the Logging Standard Log
c) Extended Think Time - In think time there are two options like Ignore think time and Replay think
time.
d) General - Under general tab we can set the vusers as process or as multithreading and each step
as a transaction.
<<<<<< =================== >>>>>>
Q. 20: Where do we set Iterations for Vuser testing in LoadRunner?
Iterations are set in the Run Time Settings of the VuGen. The navigation for this is Run time settings,
Pacing tab, set number of iterations.
Learn Basic Introduction & preliminaries of HP LoadRunner through FAQ's:


Q. 21: How do we perform functional testing under load?
Functionality under load can be tested by running several Vusers concurrently. By increasing the
amount of Vusers, we can determine how much load the server can sustain.
<<<<<< =================== >>>>>>
Q. 22: What is Ramp up in LoadRunner?
It is an option is used to gradually increase the amount of Vusers/load on the server. An initial value
is set and a value to wait between intervals can be specified. To set Ramp Up, go to 'Scenario
Scheduling Options'
<<<<<< =================== >>>>>>
Q. 23: What are the advantages of running the Vuser as thread in LoadRunner?
VuGen provides the facility to use multithreading. This enables more Vusers to be run per generator.
If the Vuser is run as a process, the same driver program is loaded into memory for each Vuser, thus
taking up a large amount of memory.
This limits the number of Vusers that can be run on a single generator. If the Vuser is run as a thread,
only one instance of the driver program is loaded into memory for the given number of Vusers (say
100).
Each thread shares the memory of the parent driver program, thus enabling more Vusers to be run
per generator.
<<<<<< =================== >>>>>>
Q. 24: How can we stop the execution of script when an error occurs?
The lr_abort function aborts the execution of a Vuser script. It instructs the Vuser to stop executing
the Actions section, executes the vuser_end section and terminates the execution.
This function is useful when you need to manually abort a script execution as a result of a specific
error condition. When you terminate a script using this function, the Vuser is assigned the status
"Stopped". For this to take effect, we have to first uncheck the "Continue on error" option in Run-
Time Settings.
<<<<<< =================== >>>>>>
Q. 25: What is the relation between Response Time and Throughput?
The Throughput graph shows the amount of data in bytes that the Vusers received from the server
in a second.
When we compare this with the transaction response time, we will notice that as throughput
decreased, the response time also decreased. Similarly, the peak throughput and highest response
time would occur approximately at the same time.
<<<<<< =================== >>>>>>
Q. 26: What is the Configuration of systems in relation to the LoadRunner?
The configuration of our systems refers to that of the client machines on which we run the Vusers.
The configuration of any 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 that
would include the network infrastructure, the web server, the database server, and any other
components that go with this larger system so as to achieve the load testing objectives.
<<<<<< =================== >>>>>>
Q. 27: How do we identify the performance bottlenecks in LoadRunner?
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.
<<<<<< =================== >>>>>>
Q. 28: How can we find out the web server related issues?
Using Web resource monitors we can find the performance of web servers. Using these monitors we
can analyze throughput on the web server, number of hits per second that occurred during scenario,
the number of http responses per second, the number of downloaded pages per second.
<<<<<< =================== >>>>>>
Q. 29: How can we find out the database related issues?
By running "Database" monitor and help of "Data Resource Graph" we can find database related
issues.
<<<<<< =================== >>>>>>
Q. 30: How do we plan the Load in LoadRunner?
Load test is planned to decide the number of users, what kind of machines we are going to use and
from where they are run. It is based on 2 important documents, Task Distribution Diagram and
Transaction profile.
Task Distribution Diagram gives us the information on number of users for a particular transaction
and the time of the load. The peak usage and off-usage are decided from this Diagram. Transaction
profile gives us the information about the transactions name and their priority levels with regard to
the scenario we are deciding.
Q. 31: What is the purpose of vuser_init action in LoadRunner?
Vuser_init action contains details of procedures to login to a server.
<<<<<< =================== >>>>>>
Q. 32: What is the purpose of vuser_end action in LoadRunner?
Vuser_end section contains details of log off procedures.
<<<<<< =================== >>>>>>
Q. 33: What is think time in LoadRunner?
It is the time that a real user waits between two actions.
For example: When a user receives data from a server, he may need to wait for some time may be
several seconds to review the data before responding. This time delay is known as the think time.
<<<<<< =================== >>>>>>
Q. 34: What is think time threshold in LoadRunner
Threshold level is the level below which the recorded think time will be ignored. The default value is
five (5) seconds. We can change the think time threshold in the Recording options of the Vugen.
<<<<<< =================== >>>>>>
Q. 35: What is the difference between standard log and extended log in LoadRunner?
The standard log sends a subset of functions and messages sent during script execution to a log. The
subset depends on the Vuser type.
Extended log sends a detailed script execution messages to the output log. This is mainly used during
debugging when we want information about parameter substitution, data returned by the server &
advanced trace.
<<<<<< =================== >>>>>>
Q. 36: What is the purpose of lr_debug_message in LoadRunner?
The lr_debug_message function sends a debug message to the output log when the specified
message class is set.
<<<<<< =================== >>>>>>
Q. 37: What is the purpose of lr_output_message in LoadRunner?
The lr_output_message function sends notifications to the Controller Output window and the Vuser
log file.

<<<<<< =================== >>>>>>
Q. 38: What is the purpose of lr_error_message in LoadRunner?
The lr_error_message function sends an error message to the LoadRunner Output window.
<<<<<< =================== >>>>>>
Q. 39: What is the purpose of lrd_stmt in LoadRunner?
The lrd_stmt function associates a character string (usually a SQL statement) with a cursor. This
function sets a SQL statement to be processed.
<<<<<< =================== >>>>>>
Q. 40: What is the purpose of lrd_fetch in LoadRunner?
The lrd_fetch function fetches the next row from the result set.
Q. 41: Waht are the various types of goals in a goal oriented scenario in LoadRunner?
Load Runner provides five different types of goals in a goal oriented scenario:
1) The number of concurrent Vusers
2) The number of hits per second
3) The number of transactions per second
4) The number of pages per minute
5) The transaction response time that you want your scenario
<<<<<< =================== >>>>>>
Q. 42: Where do we set automatic correlation options in LoadRunner?
Automatic correlation from web point of view, can be set in recording options and correlation tab.
Here we can enable correlation for the entire script and choose either issue online messages or
offline actions, where we can define rules for that correlation.
Automatic correlation for database, can be done using show output window and scan for correlation
and picking the correlate query tab and choose which query value we want to correlate. If we know
the specific value to be correlated, we just do create correlation for the value and specify how the
value to be created.
<<<<<< =================== >>>>>>
Q. 43: How can we capture dynamic values in the web vuser script in LoadRunner?
Web_reg_save_param function saves dynamic data information to a parameter.
<<<<<< =================== >>>>>>
Q. 44: How do we use the recording mode for web Vuser script in LoadRunner?
We use VuGen to develop a Vuser script by recording a user performing typical business processes
on a client application. VuGen creates the script by recording the activity between the client and the
server.
For example, in web based applications, VuGen monitors the client end of the database and traces
all the requests sent to, and received from, the database server. We use VuGen to: Monitor the
communication between the application and the server; Generate the required function calls; and
Insert the generated function calls into a Vuser script.
<<<<<< =================== >>>>>>
Q. 45: What is the use of parameters in LoadRunner?
Parameters are like script variables. These are used to vary input to the server and to emulate real
users.
Different sets of data are sent to the server each time the script is run. It is better to simulate the
usage model for more accurate testing from the Controller where one script can emulate many
different users on the system.

<<<<<< =================== >>>>>>
Q. 46: For load testing, what you should know in addition to the knowldege of LoadRunner tool?
1) Management aspects of Load Testing especially the Planning.
2) Requirements gathering, Profile/Mix, SLA, Acceptance Criteria....
3) Broad understanding of the protocol we need to work with.
4) Basic knowledge of C programming.
<<<<<< =================== >>>>>>
Q. 47: How many users can we emulate with Load-Runner on a PC?
There is no limit. However it depends on system response. That too inturn depends on various
factors like entire system configuration etc.
If system comes across bottle necks during the begining or with minimum no of Vusers, no further
addition of vusers should be considered unless & until the previously observed bottleneck are
adequately resolved.
<<<<<< =================== >>>>>>
Q. 48: How can we find out memory leak using Load Runner?
Setup the scenario with Available Bytes and Committed Bytes as one of the counters to monitor. Run
the load test as per the norms. Observe the pattern of memory usage on the designated server with
the ramp up of Vusers and see if they correlate.
When the memory usage goes to its peak, exit the Vusers gradually. If there wasn't any leakage, the
Available Bytes should increase and Committed Bytes should decrease in correlation with the
existing Vusers. If it doesn't happen, means that the memory usage had been very high, and the
Vusers have successfully exited. It may indicate the memory leak had existed in the application and
this aspect would need to be resolved at the code-level.
<<<<<< =================== >>>>>>
Q. 49: How can we record a command prompt operation in LoadRunner?
We can't record a command prompt operation in LoadRunner. Because LR works on a environment
where Client and server talks with each other. It records only the communication of Client to Server
and verifies the reply from Server.
<<<<<< =================== >>>>>>
Q. 50 :How can we run QTP scripts in LoadRunner?
1) Install QTP and Loadrunner in same machines.
2) Open the QTP script.
3) .Open Vugen and click on record then all provide all required information in all fields then click
"OK" Button.
4) Click F5 or Replay in QTP script.
Learn "Controller" Module of HP LoadRunner through FAQ's:

Q. 1: What is the purpose of using HP - LoadRunner?
In real world scenario, it is not possible to create situation involving say one thousand users using a
system simultaneously so as to test the behavior of the system under such stressful conditions.
LoadRunner can create such a situation.
LoadRunner artificially simulates several thousand users - which are called Virtual Users. These
artificial / digitally created users are simultaneously forced to operate on the same task, thereby
loading the system in a way it is expected to be loaded by real human users in actual practice.
With LoadRunner we can simulate situation with hundreds or thousands of artificial users & we can
impose definite, consistent and repeatable loads on the system thereby stressing it from end-to-end.
This way we can emulate several business processes & production conditions, which a deployed
application is going to encounter.
LoadRunner accurately measures, monitors, and analyzes a system's performance and functionality.
<<<<<< =================== >>>>>>
Q. 2: What are the essential capabilities we look in a typical application performance-testing Tool?
Essential capabilities of an application performance testing tool are that:
1) It must be able to test a system which combines many software applications and hardware
platforms.
2) It must be able to determine the suitability of a server for any given application.
3) It must be able to test the server before the necessary client software has been developed.
4) It must be able to emulate an environment where multiple clients interact with a single server
application.
5) It must be able to test an application under the load of tens, hundreds, or even thousands of
potential users.
<<<<<< =================== >>>>>>
Q. 3: What are the drawbacks of manual load testing processes?
Load testing of a complete system can be done manually by building an environment where many
users work simultaneously on the system. Each user is made to work on his standalone machine and
every individual submits input to the system. However due to complexity of such a system, following
drawbacks are there
1) Manual testing methods offer only a partial solution to the load testing.
2) Manual testing is expensive & requires large amounts of manpower & equipment.
3) Manual testing is complicated, especially while coordinating and synchronizing multiple testers.
4) Manual testing involves a high degree of organization, especially to record and analyze results
meaningfully.
5)The repeatability of the manual tests is limited.
<<<<<< =================== >>>>>>
Q. 4: How LoadRunner takes care of the shortcomings of manual performance testing?
1) LoadRunner reduces manpower requirements by replacing human users with virtual users or
Vusers. These Vusers emulate the behavior of real users operating real applications.
2) Since several Vusers can run on a single computer, LoadRunner reduces the amount of hardware
required for testing.
3) LoadRunner Controller allows us to easily and effectively control all the Vusers from a single point
of control.
4) LoadRunner monitors the application performance online, enabling us to fine-tune the system
during test execution.
5) LoadRunner automatically records the performance of the application during a test. We can
choose from a wide variety of graphs and reports to view the performance data.
6) LoadRunner checks where performance delays occur: network or client delays, CPU performance,
I/O delays, database locking, or other issues at the database server. LoadRunner monitors the
network and server resources to help us improve performance.
7) Because LoadRunner tests are fully automated, we can easily repeat them as often as we need.
<<<<<< =================== >>>>>>
Q. 5: What are the process elements of using LoadRunner?
Process elements of LoadRunner are :
1) Scenario: Before using LoadRunner, we divide the application performance testing requirements
into various scenarios. A scenario defines the events which occur during each testing session. Thus,
for example, a scenario defines and controls the number of users to emulate, the actions that they
perform, and the machines on which they run their emulations.
2) Vusers: In the scenario, LoadRunner replaces human users with virtual users or Vusers. When we
run a scenario, Vusers emulate the actions of human users working with our application. While a
workstation accommodates only a single human user, many Vusers can run concurrently on a single
workstation. In fact, a scenario can contain tens, hundreds, or even thousands of Vusers.
3) Vuser Scripts: The actions that a Vuser performs during the scenario are described in a Vuser
script. When we run a scenario, each Vuser executes a Vuser script. The Vuser scripts include
functions that measure and record the performance of our application's components.
4) Transactions: To measure the performance of the server, we define transactions. A transaction
represents an action or a set of actions that we are interested in measuring. We define transactions
within our Vuser script by enclosing the appropriate sections of the script with start and end
transaction statements. For example, we can define a transaction that measures the time it takes for
the server to process a request to view the balance of an account and for the information to be
displayed at the ATM.
5) Rendezvous points: We insert rendezvous points into Vuser scripts to emulate heavy user load on
the server. Rendezvous points instruct Vusers to wait during test execution for multiple Vusers to
arrive at a certain point, so that they may simultaneously perform a task. For example, to emulate
peak load on the bank server, we can insert a rendezvous point instructing 100 Vusers to deposit
cash into their accounts at the same time.
6) Controller: We use the LoadRunner Controller to manage and maintain our scenarios. Using the
Controller, we control all the Vusers in a scenario from a single workstation.
7) Load Generator: When we execute a scenario, the Controller distributes each Vuser in the
scenario to a load generator. The load generator is the machine that executes the Vuser script,
enabling the Vuser to emulate the actions of a human user.
8) Performance analysis: Vuser scripts include functions that measure and record system
performance during load-testing sessions. During a scenario run, we can monitor the network and
server resources. Following a scenario run, we can view performance analysis data in reports and
graphs.
<<<<<< =================== >>>>>>
Q. 6: What are our expectations from a scenario load testing an application Server?
The scenario would define the following actions which would be required to be performed on the
server during the load test.
1) Emulating the conditions of controlled load on the server.
2) Emulating the conditions of maximum load on the server.
3) Measuring the server performance under load.
4) Check where performance delays occur: network or client delays, CPU performance, I/O delays,
database locking, or other issues at the server.
5) Monitoring the network and server resources under load.
<<<<<< =================== >>>>>>
Q. 7: What is the role of Remote Agent Dispatcher in LoadRunner?
The role of Remote Agent Dispatcher is to enable the Controller to start applications on the load
generator.
<<<<<< =================== >>>>>>
Q. 8: What is the role of LoadRunner Agent?
1) LoadRunner Agent enables the Controller and the load generator to communicate with each
other.
2) When we run a scenario, the Controller instructs the Remote Agent Dispatcher to launch the
LoadRunner agent.
3) The agent receives instructions from the Controller to initialize, run, pause, and stop Vusers.
4) The agent relays data on the status of the Vusers back to the Controller.
<<<<<< =================== >>>>>>
Q. 9: What type of actions a Vuser can perform during database server testing?
A Vuser script can perform following actions while testing a database server:
1) Logging in to the Web application.
2) Connecting to the database server.
3) Submitting an SQL query.
4) Retrieving and processing the server response.
5) Disconnecting from the server and the Web.
<<<<<< =================== >>>>>>
Q. 10: What are the broad steps involved in testing process by LoadRunner?
LoadRunner follows a Sixstep process for testing the application under the load:
Step - 1: Planning the Test: Involves development of a thorough test plan for the success of the load
testing effort.
Step - 2: Creating the Vuser Scripts: Vusers emulate human users interacting with our application. A
Vuser script contains the actions which each Vuser performs during scenario execution.
Step - 3: Creating the Scenario: A scenario describes the events that occur during a testing session. A
scenario includes a list of machines on which Vusers run, a list of scripts that the Vusers run, and a
specified number of Vusers or Vuser groups that run during the scenario. We can create scenarios
using the Controller.
Step - 4: Running the Scenario: User load is emulated on the server by instructing multiple Vusers to
perform tasks simultaneously. We can set the level of load by increasing and decreasing the number
of Vusers that perform tasks at the same time.
Step - 5: Monitoring a Scenario: This can be done by executing scenario monitoring with the help of
LoadRunner's set of many resources.
Step - 6: Analyzing Test Results: During scenario execution, LoadRunner records the performance of
the application under different loads. We can use LoadRunner's graphs and reports to analyze the
application's performance.
Q. 11: What are the benefits of a test plan for a successful load testing?
A well-defined test plan is the first essential step to successful testing.
Planning of load testing helps us in:
1) Building test scenarios which accurately emulate our working environment. Load testing means
testing our application under typical working conditions, and checking for system performance,
reliability, capacity, and so forth.
2) Understanding as to which resources are required for testing. Application testing requires
hardware, software, and human resources. Before we begin testing, we need to know which
resources are available and decide how to use them effectively.
3) Defining success criteria in measurable terms. Focused testing goals and test criteria ensure
successful testing. For example, it's not enough to define vague objectives like "Check server
response time under heavy load." A more focused success criterion would be "Check that 100
customers can check their account balance simultaneously, and that the server response time will
not exceed one minute."
<<<<<< =================== >>>>>>
Q. 12: What are the elements of Load Test Planning Process using LoadRunner?
Load test planning is a three-step process:
Step -1: Analyzing the Application: Involves becoming thoroughly familiar with the hardware and
software components, the system configuration, and the typical usage model. This step ensures that
the testing environment created by us will accurately reflect the environment and configuration of
the application under test.
Step -2: Defining Testing Objectives: Before starting the testing process, we need to define exactly
what we want to achieve.
Step -3: Planning LoadRunner Implementation: Involves decision making on how to use LoadRunner
to achieve our testing goals.
<<<<<< =================== >>>>>>
Q. 13: What factors do we consider while planning the system configuration before its load testing?
We describe the configuration of every system component like client machines, network,
middleware, and servers in ample detail giving answers to the following:
1) How many users are anticipated to connect to the system?
2) What is the configuration of application client machine. Configuration includes information on
hardware, memory, operating system, software, development tool etc.?
3) What types of database and Web servers are used with the information of hardware, database
type, operating system, file server etc.?
4) How does the server communicate with the application client?
5) What is the middleware configuration and application server between the front-end client and
back-end server?
6) What other network components are used like modems etc. which may affect response time?
7) What is the throughput of the communications devices & How many concurrent users can each
device handle?
<<<<<< =================== >>>>>>
Q. 14: What factors do we consider regarding system usage while planning the load testing?
1) Consideration as to how the system is typically used, and decide which functions are important to
test.
2) Consideration as to who uses the system, what are the number of each type of user and what are
the common tasks performed by each user.
3) Consideration of any background load which might affect the system response time.
For example, say 500 persons log on to the accounting system every morning, and the same office
network has a constant background load of 100 users performing various word processing and
printing tasks. We would create a LoadRunner scenario with 600 virtual users signing in to the
accounting database, and check the server response time.
<<<<<< =================== >>>>>>
Q. 15: What are the broad objectives before planning load testing?
Before starting testing, we need to define our objectives precisely as to what we want to achieve.
Broad application testing objectives for load testing with LoadRunner can be:
1) Measuring end-user response time: To know how long does it take to complete a business
process?
2) Defining optimal hardware configuration: To know which hardware configuration provides the
best performance?
3) Checking reliability: To know how hard or long can the system work without errors or failures?
4) Checking hardware or software upgrades: To know how does the upgrade affect performance or
reliability?
5) Evaluating new products: To know which server hardware or software should we choose?
6) Measuring system capacity: To know how much load can the system handle without significant
performance degradation?
7) Identifying problem areas: To know which element is slowing down the response time?
<<<<<< =================== >>>>>>
Q. 16: Load Testing is applicable during which stages of product life cycle?
Load testing is necessary throughout the product life cycle.
Load Testing activities performed during various stages of product life cycle are:
1) During Planning and Design stage: Evaluation of new products & measurement of response time
of every activity.
2) During Product Development stage: Measurement of response time of every activity, checking of
optimum hardware configuration, checking of hardware and software upgrades and checking of
reliability.
3) During Product Deployment stage: Checking of reliability, measurement of response time of every
activity and measurement of system capacity.
4) During Production stage: Measurement of response time of every activity and Identification of
various problem areas.
5) During Evolution stage: Checking of hardware and software upgrades and measurement of system
capacity.
<<<<<< =================== >>>>>>
Q. 17: At which points we use LoadRunner to measure the response time in our application?
Following type of response times are measured to decide as to where to run the Vusers and which
Vusers to run, according to our predefined test objectives:
1) Measurement of end-to-end response time: We can measure the response time which a user
experiences by running a GUI Vuser at the front end. GUI Vusers emulate real users by submitting
input to and receiving output from the client application.
We can run GUI Vusers at the front end to measure the response time across the entire network,
including a terminal emulator or GUI front end, network, and server.
2) Measurement of network and server response times: We can measure network and server
response time, excluding response time of the GUI front end, by running Vusers on the client
machine. Vusers emulate client calls to the server without the user interface. When we run many
Vusers from the client machine, we can measure how the load affects network and server response
time.
3) Measurement of GUI response time: We can find out as to how the client application interface
affects response time by calculating the difference among the previous two measurements i.e.
GUI response time = (End-to-end response time) - (Network and server response time)
4) Measurement of server response time: We can measure the time it takes for the server to
respond to a request without going across the network. When we run Vusers on a machine directly
connected to the server, we can measure the server performance.
5) Measurement of middleware-to-server response time: We can measure response time from the
server to middleware if we have access to the middleware and its API. We can create Vusers with
the middleware API and measure the middleware-server performance.
<<<<<< =================== >>>>>>
Q. 18: What are the broad basis for creating Vuser scripts?
Since Vusers emulate the actions of a typical enduser, the Vuser scripts are created with a
consideration of end-user tasks.
Vuser scripts are created based on the following:
1) Analysis of Vuser types: For finding out the number and type of Vusers expected to be created.
2) Activities expected to be performed by the Vusers: For example, for load testing a banking
application, we would create a Vuser script which performs typical banking related activities.
3) Test objectives: Form the basis of taking decision on tasks to be measured and defining their
transactions.
<<<<<< =================== >>>>>>
Q. 19: What factors do we consider while selecting hardware for using LoadRunner?
For running the desired number of Vusers the hardware and Operating system must be adequately
powerful and fast.
Following factors are given due consideration while deciding the number of machines and their
configuration:
1) Make a provision of running LoadRunner Controller on a separate machine.
2) Make a provision of a separate Windows-based machine for every GUI Vuser. However one UNIX
machine can take care of running of several GUI Vusers.
3) Keep the configuration of GUI Vusers testing machine same like the actual user's machine.
<<<<<< =================== >>>>>>
Q. 20: How LoadRunner can be helpful in checking the reliability of a hardware system?
LoadRunner can provide good pointers to decision making in following areas pertaining to hardware:
1) Finding out the level of system stability under heavy or continuous work loads, by creating stress
on the system.
2) Testing the system by forcing it to handle the extended activity in a compressed time period to
simulate the kind of activity a system would normally experience over a period of weeks or months.
Q. 21: How do we measure the system capacity?
We measure system capacity to find out how much excess capacity the system can handle without
any degradation in its performance .
For checking the capacity of a system, we compare the performance versus load on the existing
system, and find out a point at which significant degradation of response-time starts taking place.
Point is known as "knee" when plotted over a response time curve.
<<<<<< =================== >>>>>>
Q. 22: What is the purpose of creating Scenarios in LoadRunner?
For testing a system by using LoadRunner, we need to create a scenario. Scenario is a file containing
complete information about the testing session. The scenario is a means of emulating a real-life
user.
The scenario contains following information about the mechanism of emulating the real users:
1) Details of groups of virtual users or Vusers.
2) Details of test scripts the Vusers will run.
3) Details of load generators upon which the scripts shall be made to run.
<<<<<< =================== >>>>>>
Q. 23: How many types of scenarios can be created while using Controller of LoadRunner?
We can create any one type of scenario out of the following:
1) Manual Scenario: Scenario is created manually by defining the number of Vuser groups we want
to run, and building a schedule for LoadRunner to run these groups. Manual scenario can be created
by defining the total number of Vusers to be used in the scenario, or assigning a percentage of the
total number of Vusers to each script.
2) Goal-Oriented Scenario: We define the goals that we want to achieve in our test and LoadRunner
automatically builds a scenario for us, based upon our goals.
<<<<<< =================== >>>>>>
Q. 24: How can we change the maximum number of scripts displayed in the Available Scripts list?
We can change the maximum number of scripts displayed in the Available Scripts list by modifying
the registry key:
HKEY_CURRENT_USER\Software\Mercury Interactive\RecentScripts\max_num_of_scripts
<<<<<< =================== >>>>>>
Q. 25: What is the purpose of Scenario Files?
A scenario provides detailed description of various events taking place during every load testing
session.
A scenario is created by using the Design view of Controller in LoadRunner. Once a scenario is
created, LoadRunner saves the information in a
scenario file having an extension (*.lrs).
<<<<<< =================== >>>>>>
Q. 26: What methods are available in LoadRunner for building scenarios?
Two methods are available through which we can create scenarios.
1) Manual Scenario creation method: Involves creating groups and specifying the script, the load
generator, and the number of Vusers included in each group. We can chose to opt for using
Percentage Mode to distribute our Vusers among various scripts.
2) Goal Oriented Scenario creation method: Involves defining the goals we want our test to achieve,
and LoadRunner automatically builds a scenario for us, based on these goals.
<<<<<< =================== >>>>>>
Q. 27: How can we change the maximum number of scripts displayed in the Available Scripts list?
We can change the maximum number of scripts displayed in the Available Scripts list by modifying
the registry key:
HKEY_CURRENT_USER\Software\Mercury Interactive\RecentScripts\max_num_of_scripts
<<<<<< =================== >>>>>>
Q. 28: What is the purpose of having Vuser groups in scenarios?
A scenario consists of groups of Vusers which simulate the actions of human users on the application
under test. When a particular scenario is run, the Vusers generate load on the server, and
LoadRunner monitors the server and transaction performance..
Vuser groups are created to organize several Vusers in a scenario into manageable groups. Vuser
groups are created by including Vusers having similar characteristics. For example, when many
Vusers run the same Vuser script, we can club them into one Vuser group.
<<<<<< =================== >>>>>>
Q. 29: What type of actions can be performed on a Vuser group or scenario?
Following actions can be performed on a Vuser group:
1) Defining the group name, Vuser quantity, load generators, and scripts for the Vuser group.
2) Adding load generators to the Vuser group and configuring the load generators.
3) Adding and configuring scripts to the Vuser group.
4) Enabling or disabling a Vuser group for the scenario.
5) Removing a Vuser group from the scenario.
6) Scheduling the Vuser group execution.
7) Defining service level agreements for the scenario.
8) Running, stopping & resetting the scenario.
9) Configuring the settings of scenario results.
<<<<<< =================== >>>>>>
Q. 30: What is the meaning of pending status for a Vuser?
Pending status for a V user indicates that the Vuser is ready to be initialized and is waiting for an
available load generator, or is transferring files to the load generator. The Vuser will run when the
conditions set in its scheduling attributes are met.
Q. 31: What is the meaning of rendezvous status for a Vuser?
Rendezvous status for a Vuser indicates that the Vuser has arrived at the rendezvous and is waiting
to be released by LoadRunner.
<<<<<< =================== >>>>>>
Q. 32: What is the purpose of Gradual Stop option for the Vusers?
Gradual Stop option Instructs the Controller to complete the current iteration or action before
stopping the Vuser. This option is only available when the Vuser is in the RUN state.
<<<<<< =================== >>>>>>
Q. 33: How do we modify the run-time settings of multiple scripts?
We need to chose the method of modifying the run-time settings:
1) Modification method for Shared run-time settings: This method opens one window containing all
of the run-time settings in blank mode. In this mode, we set only the options that we want to modify
for all selected scripts. All other run-time settings remain unchanged.
Some of the run-time settings cannot be modified in shared mode. These settings do not appear. To
modify them, we need to open the run-time settings for each individual script.
2) Modification method for Individual run-time settings: This method opens a separate window for
each selected script. In this mode, we modify each script's settings individually.
<<<<<< =================== >>>>>>
Q. 34: What configuration settings we can define for Load Generators in a scenario?
With the help of Load Generators dialog box, we can set following type of load generator's
attributes:
1) Defining which load generators will run Vusers in the scenario. For example, if a load generator is
unavailable for a particular scenario run, we can exclude it temporarily instead of removing it
entirely from your list of load generators.
2) Selecting which load generators will take part in the scenario by using the Enable and Disable
commands. Disabling a load generator temporarily removes it from the list. Enabling a load
generator reinstates it.
<<<<<< =================== >>>>>>
Q. 35: What is the role of controller in LoadRunner?
The Controller monitors a Windows load generator's CPU usage and automatically stops loading
Vusers on a load generator when it becomes overloaded.
We can monitor the status of a machine's CPU usage. When the CPU usage of a load generator
becomes problematic, the icon to the left of the load generator name contains a yellow bar. When
the machine becomes overloaded, the icon contains a red bar.
<<<<<< =================== >>>>>>
Q. 36: What are the Terminal Services in LoadRunner?
Terminal services allows centralized management of computing resources for each client connected
to the server, and provides each user with their own working environment.
We use LoadRunner's Terminal Services Manager to remotely manage multiple load generators
running in our load testing scenario on a terminal server. With the help of Terminal Services
Manager, we can select the number of terminals to be used in our scenario & the maximum number
of Vusers which can be run per terminal. The Terminal Services Manager then evenly distributes the
number of virtual users among the client sessions.
With the help of Terminal Server Client, we can operate in a server-based computing environment
from a remote machine. The terminal server transmits applications over the network and displays
them via terminal emulation software. Every user logs on and sees only his individual session, which
is managed transparently by the server operating system, independent of any other client session.
<<<<<< =================== >>>>>>
Q. 37: What is the use of Creating a Manual Scenario Using the Percentage Mode?
A manual scenario is created in the Percentage mode by defining the total number of Vusers to be
used in the scenario, and assigning load generators and a percentage of the total number of Vusers
to each script.
While creating a new scenario, we can access the Percentage Mode directly by selecting the "Use
the Percentage Mode to distribute the Vusers among the scripts" in the New Scenario dialog box.
A scenario created in the Vuser Group Mode can be easily converted to the Percentage Mode.
<<<<<< =================== >>>>>>
Q. 38: What are the key considerations while converting a scenario from Vuser Group Mode to
Percentage Mode?
1) In case we have defined multiple scripts for a Vuser group, the number of Vuser scripts created in
the Percentage Mode will be same as the number of scripts defined for the group.
2) All Load Generators will be assigned to all Vuser scripts created in the Percentage Mode. In case
we have defined multiple load generators for a Vuser group, the Vusers we assign to the scripts in
the Percentage Mode will be distributed evenly among the load generators previously assigned by us
to the group.
3) All Vuser group schedule settings will be lost. All profiles will contain scenario schedule settings
only.
<<<<<< =================== >>>>>>
Q. 39: What are the key considerations while converting a scenario from Percentage Mode to Vuser
Group Mode?
1) Each script will be converted to a Vuser group.
2) In case we have defined multiple load generators for a Vuser script, the Vuser group which is
created when converting the scenario will also contain multiple load generators.
3) All schedule settings will be retained as it is.
<<<<<< =================== >>>>>>
Q. 40: What is the purpose of Scheduling Scenarios?
After creating a scenario, we schedule it to start running at a specified time. We can make a
schedule defining the time at which to initialize, start, and stop Vusers during the scenario run, and
how long an action should continue running.
We can restrict the execution duration of the scenario or of a Vuser group within the scenario. We
can also stipulate how many Vusers to start and stop running within a certain time frame. We can
specify whether LoadRunner should start or stop running all Vusers in a scenario simultaneously, or
only a certain number of Vusers within a specified amount of time.
Q. 41: What is the effect of Rendezvous points on the running of scenarios as per schedule?
Rendezvous points, if present in a script, interfere with the scheduled scenario run. The scenario will
not run as scheduled due to the presence of rendezvous points in the script.
<<<<<< =================== >>>>>>
Q. 42: What are the methods by which we can schedule the enabled Vuser groups in a scenario?
After creating a scenario, we can schedule the enabled Vuser groups to run according to either of
the following:
1) As a part of a whole scenario: When we run a scenario, LoadRunner runs all the Vuser groups
enabled in the scenario. The schedule defined for running the scenario is applied to all the Vuser
groups concurrently, and LoadRunner applies each action proportionately to all the Vusers groups.
2) As per its own schedule: For each enabled Vuser group in a scenario, we can design a separate
execution schedule. We can specify when to start running the Vuser group, how many Vusers to
start and stop running within given time intervals, and how long the Vuser group should continue
running.
<<<<<< =================== >>>>>>
Q. 43: How many modes are available to us for scheduling the running of scenario?
We can schedule a scenario to run in one of the following modes:
1) Real-life schedule: The scenario runs according to a user-defined group of actions that simulate a
real-life schedule of events. Vuser groups run according to the iterations defined in their run-time
settings, but we can define how many Vusers to run at a time, how long Vusers should continue to
run, and how many Vusers to stop running at a time.
2) Classic Schedule: All enabled Vuser groups run together on one schedule, each according to its
own run-time settings. We can schedule how many Vusers to start running at a time, how long to
run the Vusers, and how many Vusers to stop running at a time.
3) Run until complete: All the Vuser groups in the scenario run according to the iterations defined in
their run-time settings. Each Vuser group in the scenario runs its defined course, and when all the
Vuser groups have finished running, the scenario run is complete.
<<<<<< =================== >>>>>>
Q. 44: What is the purpose of specifying Service Level Agreements in scenarios?
While creating a load testing scenario, we can specify our goals or service level agreements - SLA's
for the performance measurement.
When this scenario is made to run the LoadRunner captures all the performance related data. During
analysis phase, Analysis compares this data against the SLAs and determines SLA status for the
defined measurements.
<<<<<< =================== >>>>>>
Q. 45: What methods LoadRunner uses to find out the SLA status?
Depending on the measurements being evaluated by us, LoadRunner finds out the SLA status in one
of the following ways:
1) As per time interval within the run: Analysis displays SLA statuses at set time intervals in the
timeline. For example, every 10 seconds - Analysis checks to see if the measurement's performance
has deviated from the threshold defined in the SLA.
2) As per the whole run: Analysis displays a single SLA status for the whole scenario run. The
measurements include - Total Hits, Average Hits, Total Throughput, and Average Throughput.
<<<<<< =================== >>>>>>
Q. 46: How many types of Goal Oriented Scenarios can be created in LoadRunner?
In a goal-oriented scenario, we define the goals required to be achieved through our tests, and
LoadRunner automatically builds a scenario for us based on these goals.
When we want to test how many Vusers the application can run simultaneously, it is better to define
a type of goal for the Virtual Users.
Following five types of goals can be defined in a goal-oriented scenario:
1) Defined number of virtual users
2) Defined number of hits per second by the Web Vusers.
3) Defined number of transactions per second.
4) Defined number of pages per minute by the Web Vusers.
5) Defined transaction response time we want our scenario to reach.
<<<<<< =================== >>>>>>
Q. 47: Under what circumstances a Pages per Minute or Hits per Second goal-oriented scenario fails?
Pages per Minute or Hits per Second goal-oriented scenario is assigned a "Failed" status in situations
like:
1) When the Controller has twice attempted to reach the goal using the maximum number of Vusers
specified, and the goal could not be reached.
2) When no pages per minute or hits or transactions per second were registered after the first batch
of Vusers was run.
3) When the number of pages per minute or hits or transactions per second did not increase after
the Controller ran a certain number of Vuser batches.
4) When all the Vusers that were run failed.
5) When there were no available load generators for the type of Vusers we attempted to run.
<<<<<< =================== >>>>>>
Q. 48: What is Load Balancing process in LoadRunner?
Load balancing is the process, which evenly distributes the load generated by Vusers among the
requested load generators, thereby ensuring an accurate load test.
When a Windows load generator's CPU usage becomes overloaded, the Controller stops loading
Vusers on the overloaded load generator, and automatically distributes them among load generators
taking part in the scenario.
Load balancing option is available only in goal-oriented scenarios and manually controlled scenarios
in the Percentage Mode.
<<<<<< =================== >>>>>>
Q. 49: What policy attributes can be defined for rendezvous points?
Setting the rendezvous policy determines how the Vusers handle a rendezvous point. We can set the
following policy attributes for every rendezvous point:
1) Release policy: Defines how many Vusers will be released from a rendezvous point at a time.
2) Timeout policy: Defines how long the Controller shall wait before releasing Vusers from a
rendezvous point.
<<<<<< =================== >>>>>>
Q. 50: Can we disable a particular Vusers at Rendezvous Points?
We can disable a rendezvous point for all Vusers in a scenario.
In addition to this we can disable a rendezvous point for a particular Vusers.
By disabling Vusers at a rendezvous point, we temporarily exclude them from participating in the
rendezvous. Enabling disabled Vusers returns them back to the rendezvous.
Q. 51: What type of status related Rendezvous Information is available to us during creation of a
scenario?
Following Rendezvous Information is available to us for viewing & necessary modifications:
1) Current Status: The number of Vusers that arrived at the rendezvous point out of the total
number of Vusers assigned to the rendezvous.
2) Time: The time at which the Vusers at the rendezvous point were released.
3) Reason: The reason the Vusers at the rendezvous point were released. The possible reasons are
Timeout or Arrived.
<<<<<< =================== >>>>>>
Q. 52: Out of Individual Load Generator settings & Global Settings, which ones come into effect?
When the global scenario settings differ from those of an individual load generator, the load
generator settings override them.
<<<<<< =================== >>>>>>
Q. 53: What is the use of LoadRunner Expert mode?
We can configure additional settings for the LoadRunner agent and other LoadRunner components
with the help of LoadRunner Expert mode.
<<<<<< =================== >>>>>>
Q. 54: How LoadRunner takes care of timeout value requirements in case of large number of Vusers?
LoadRunner automatically understands the fact that the number of active Vusers has a significant
effect on the timeout values.
For example, 1000 Vusers trying to initialize will take much longer than 10 Vusers. Taking care of
this, LoadRunner automatically adds an internal value, based on the number of active Vusers, to the
timeout value specified by us.
<<<<<< =================== >>>>>>
Q. 55: While running a scenario, the run-time files are stored at which location by default?
While we run a scenario, by default the run-time files get stored locally on each load generator
machine running the Vuser script.
The default location of the files is under the temporary directory specified by the load generator's
environment variables like Windows - TEMP or TMP Directory.
If no environment variable is defined, the files get saved to the /tmp directory.
<<<<<< =================== >>>>>>
Q. 56: What are the various types of Primary Run-time files?
Primary run-time files are of following types:
1) Vuser Script files: When we run a Vuser, the Controller sends a copy of the associated Vuser script
to the Vuser load generator. These script files are stored in the load generator's temporary run-time
directory.
2) Result files: While we run a scenario, the participating Vusers write their results to the temporary
run-time file directory. After scenario execution, these result files are consolidated and the results
from all the load generators are transferred to the results directory.
<<<<<< =================== >>>>>>
Q. 57: How transfer of script files takes place at run time in case Vusers access the scripts at some
shared location?
If we specify that all Vusers access their Vuser scripts directly at some shared location, no transfer of
script files take place at run time.
<<<<<< =================== >>>>>>
Q. 58: What is Path translation in LoadRunner
Path translation is a mechanism used by LoadRunner to convert remote path names. We need to do
path translation, when we specify a shared network drive for run-time file storage.
<<<<<< =================== >>>>>>
Q. 59: What preparatory steps are recommended for running a scenario?
Before running a scenario following are suggested steps:

1) Specify the location of the results.

2) Assign a name to the results.

3) Scheduling of the scenario.

4) Providing scenario summary information.

5) Specification of applications to be invoked at the start of the scenario.
<<<<<< =================== >>>>>>
Q. 60: What is the extension of scenario result file?
The general information about the scenario are stored in a result file with an extension (.eve and .lrr)
Q. 61: How Analysis module of LoadRunner interacts with the results files?
When analysis graphs and reports are generated, the Analysis module of LoadRunner copies all the
scenario result files to a database.
Then the Analysis module directly interacts with the database and does not require the individual
result files.
<<<<<< =================== >>>>>>
Q. 62: What are the benefits of saving scenarios in a Quality Center Project?
When Controller module of LoadRunner is connected to a Quality Center project, we can create a
new scenario in the Controller and save it directly to the Quality Center project.
This helps us in keeping a track of all scenarios created for each subject and allows monitoring the
progress of test planning and creation.
<<<<<< =================== >>>>>>
Q. 63: How can we test the functionality of an application under heavy load using LoadRunner?
LoadRunner integrates functional testing scripts created by Functional testing Tools like QTP or
WinRunner. These scripts in the form of GUI Vuser scripts integrate into the scenarios of
LoadRunner.
<<<<<< =================== >>>>>>
Q. 64: What are the benefits of running functional test scripts in LoadRunner?
1) To see how the functionality of the application gets affected under the heavy load.
2) To measure the end-to-end response time experienced by a typical user on the client side while
the application is under load.
3) By including QTP test scripts at specific points in a LoadRunner scenario we can confirm that the
functionality of our application does not get affected by the extra load at these sensitive points.
4) When a GUI Vuser script runs on our screen during the LoadRunner scenario, we can watch the
actual steps executed by the Vuser in a real time.
<<<<<< =================== >>>>>>
Q. 65: What is a GUI Vuser?
A GUI Vuser emulates the complete environment of a human user. GUI Vusers enable us to measure
and monitor end-to-end user response times while our client/server system is under load.
A GUI Vuser can be programmed to read and act on information that appears on its machine's
display. All actions of every GUI Vuser are described in a GUI Vuser script generally created in QTP or
WinRunner.
GUI Vusers are monitored and managed through the Controller module of LoadRunner.
<<<<<< =================== >>>>>>
Q. 66: Can we use VuGen module of LoadRunner to run a GUI Vuser script?
We cannot use VuGen to run a GUI Vuser script.
We use the Controller module of LoadRunner to run a GUI Vuser script as part of a scenario.
Whereas we use QTP or WinRunner to run a GUI Vuser script in the standalone mode.
<<<<<< =================== >>>>>>
Q. 67: What is End-to-end response time in relation to GUI Vuser Technology?
End-to-end response time means the total time that a user waits for a response after submitting a
request. GUI Vusers measure real end-to-end response times. End-to-end response times include
GUI response times plus network and server response times.
<<<<<< =================== >>>>>>
Q. 68: What are the special design constraints with QTP Tests while adopting in LoadRunner?
1) Only simple QTP tests should be adopted for use in LoadRunner & should be designed to pinpoint
specific operations.
2) LoadRunner cannot run nested action iterations.
3) Do not include references to external actions or other external resources, like an external Data
Table file, environment variable file, shared object repositories etc.
4) Include transactions in QTP test since LoadRunner only provides performance information for
data that is included within a transaction.
<<<<<< =================== >>>>>>
Q. 69: How do we define transactions within our Vuser script?
Transactions are defined as an action or a set of desired actions to measure the performance of a
server.
We define transactions within our Vuser script by enclosing the appropriate sections of the script
with start and end transaction statements. For example, we can define a transaction, which
measures the time it takes for the server to process a request to view the balance of an account and
for the information to be displayed at the ATM.
<<<<<< =================== >>>>>>
Q. 70: For use in LoadRunner, which statements are manually added to basic Vuser script recorded
in WinRunner?
Since LoadRunner provides performance-related information only for the data included within a
transaction. Hence WinRunner test scripts are manually edited to include transactions needed to be
used by LoadRunner. Thus following statements are manually inserted into WinRunner test scripts :
1) Transaction statements to measure the performance of the server.
2) Rendezvous statements to emulate a specific user load.
Q. 71: What are the special considerations while running the LoadRunner scenario integrated with
GUI Vuser script created in QTP or WinRunner?
1) Run just the one GUI Vuser concurrently per machine.
2) Ensure that QTP and WinRunner are closed before running the scenario.
3) In the Run-time Settings for script dialog box, only the General categories and sub-categories like
General, Iterations, Miscellaneous, Think Time etc. are relevant for QTP and WinRunner tests.
4) The Replay options are not relevant for QTP and WinRunner tests.
<<<<<< =================== >>>>>>
Q. 72: What actions are performed by the LoadRunner during scenario execution?
While executing a scenario, the LoadRunner does the following:
1) Recording of the duration of the transactions you defined in the Vuser scripts
2) Performing the rendezvous included in the Vuser scripts
3) Collecting error, warning, and notification messages generated by the Vusers
During running of scenarios Controller module of LoadRunner performs following actions:
a) Checking the scenario configuration information.
b) Invokes the applications selected by us for running with the scenario.
c) Distributing each Vuser script to its specified load generator. When the Vuser groups become re
ready, they start executing their respective scripts.
<<<<<< =================== >>>>>>
Q. 73: Can we activate an additional Vuser while a scenario is running?
With the help of Run / Stop Vusers dialog box, we can activate an additional Vuser while a scenario is
running.
The scenario will finally end when all the Vusers have completed their scripts, or when the specified
duration finishes out, or when we terminate it.
<<<<<< =================== >>>>>>
Q. 74: What are the brief steps of running a scenario?
Scenario execution by & large follows following basic steps:
Step -1:Opening of an existing scenario or creating a fresh one.
Step -2:Configuring and scheduling the scenario.
Step -3:Setting the results directory.
Step -4:Running and monitoring the scenario.
<<<<<< =================== >>>>>>
Q. 75: How running of individual Vusers differ from running an entire scenario?
We can run all the Vusers and Vuser groups all together in a scenario, alternatively we can chose the
specific Vuser groups and Vusers and can run them individually.
The difference in operation lies as under:
1) When We run an entire scenario, LoadRunner does not begin running Vusers until they all reach
the Ready state.
2) When we run individual groups or Vusers, LoadRunner runs each Vuser immediately after it
reaches the Ready state.
<<<<<< =================== >>>>>>
Q. 76: What do we mean by initialization of Vusers in a group?
By initializing the Vusers, we distribute the Vusers in the group to their specified load generators so
that they get ready to execute their script.
The status of the Vuser group changes from Down to Pending to Initializing to Ready. In case a
particular Vuser group does not get initialized due to any reason, the status of this Vuser group
changes to Error.
By initializing all the Vusers in a group before running them, we can ensure that they all begin
executing the scenario at the same time.
<<<<<< =================== >>>>>>
Q. 77: How the addition of new Vusers differ among various modes of running a scenario?
We run a scenario or Vuser in two modes like: 1) Vuser Group Mode 2) Percentage Mode.
1) Vuser Group Mode: Here we control the number of new Vusers that can be added to each Vuser
Group, and the load generators on which these additional Vusers will run.
2) Percentage Mode: Here we control the number of new Vusers that can be distributed among the
Vuser scripts according to the percentage you define, and the load generators on which these
additional Vusers will run.
<<<<<< =================== >>>>>>
Q. 78: What type of Vuser activity can be seen while a scenario is running?
LoadRunner allows us to see the following Vuser activity during a scenario run:
1) On the Controller load generators, we can view the Output window, monitor Vuser performance
online, and check the status of Vusers executing the scenario.
2) On remote machines, we can view the Agent summary with information about the active Vusers.
<<<<<< =================== >>>>>>
Q. 79: How connections are established among Controller & Load Generators under fire walled
environment?
In a conventional non-firewalled load test scenario, the Controller can directly connect to the
LoadRunner agents running on remote machines.
While running Vusers over a firewall, the direct connection between the controller and the Load
Generator gets blocked by the firewall. The reason being that the Controller does not have
permissions to open the firewall.
LoadRunner addresses this problem by using a communication configuration based on HTTPS or
secured TCP/IP.
In such a fire walled environment, a LoadRunner agent is installed on load generators running
Vusers, and on Monitor machines which monitor the servers. This agent communicates through port
443 in the firewall.
<<<<<< =================== >>>>>>
Q. 80: What is a MI Listener machine?
The MI Listener machine works as a router between the following:
1) The agent on the load generator machine and the Controller, enabling the Controller to run
Vusers over a firewall.
2) The agent on the Monitor over Firewall machine and the Controller, enabling the Controller to
monitor the servers that are located over a firewall.
MI Listener components are installed on a dedicated machine.
Q. 81: How the communication takes place across MI Listener machine in a fire-walled environment?
The MI Listener serves the purpose of a router between the Controller and the LoadRunner agent.
When the LoadRunner agent connects to the MI Listener machine, the MI Listener keeps a listing of
the connection to the agent using a symbolic name that the agent passed to it.
When the Controller connects to the MI Listener machine, it communicates to the MI Listener
through port 50500.
<<<<<< =================== >>>>>>
Q. 82: How many types of online monitors are available for controller machines?
1) Run-Time Monitors: For displaying the number and status of Vusers participating in the scenario,
as well as the number and types of errors that the Vusers generate.
2) Transaction Monitors: For displaying the transaction rate and response time during scenario
execution.
3) Web Resource Monitors: For providing information about the number of Web connections,
throughput volume, HTTP responses, server retries, and pages downloaded to the Web servers
during the scenario.
4) System Resource Monitors: For measuring the Windows, UNIX, Tuxedo, SNMP, Antara
FlameThrower, and SiteScope resources used during a scenario.
5) Network Delay Monitor: For displaying the information about the network delays on our system.
6) Firewall Monitor: For measuring the statistics of the firewall servers during the scenario.
7) Web Server Resource Monitors: For measuring the statistics of the Apache, Microsoft IIS, iPlanet
Web servers during the scenario.
8) Web Application Server Resource Monitors: For measuring the statistics of the Ariba, ATG
Dynamo, BroadVision, ColdFusion, Fujitsu INTERSTAGE, iPlanet, Microsoft ASP, Oracle9iAS HTTP,
SilverStream, WebLogic and WebSphere application servers during the scenario.
9) Database Server Resource Monitors: For measuring the statistics of the SQL server, Oracle,
Sybase, and DB2 databases during the scenario.
10) Streaming Media Monitors: For measuring the statistics of the Windows Media Server and
RealPlayer audio/video servers, as well as the RealPlayer and Media Player client during the
scenario.
11) ERP/CRM Server Resource Monitors: For measuring the statistics of the SAP Portals, Siebel
Servers, and PeopleSoft servers during the scenario.
12) Java Performance Monitor: For measuring the statistics of Java Platforms and Java-based
applications using J2EE machines.
13) J2EE & .NET Diagnostics Monitors: For providing information to trace, time, and troubleshoot
individual transactions through J2EE & .NET Web, application, and database servers.
14) Application Component Monitor: For measuring the statistics of the Microsoft COM+ server
during a scenario run.
15) Application Deployment Solutions Monitor: For measuring the statistics of the Citrix MetaFrame
servers during a scenario run.
16) Middleware Performance Monitors: For measuring the statistics of the Tuxedo and IBM Web
servers during a scenario run.
17) Infrastructure Resources Monitor: For measuring the statistics of the network client data points
during a scenario run.
<<<<<< =================== >>>>>>
Q. 83: What is Merging Graphs in LoadRunner?
LoadRunner allows us to merge the results of two graphs from the same scenario into a single graph.
The merging helps us to compare several different measurements at once. For example, we can
make a merged graph to display the Web Throughput and Hits per Second, as a function of the
elapsed time.
To merge two graphs, the x-axis of both the graphs must be the same measurement.
<<<<<< =================== >>>>>>
Q. 84: What situations are best suited for performing path translation?
1) When saving run-time result files to a shared drive which has been mapped differently by the
Controller and remote load generator.
2) When the remote machine maps the path as another drive letter or path, path translation is
necessary to enable the load generator to recognize the script location.
2) Across platforms - to translate Windows-based paths as seen by the Controller into paths
recognized by the UNIX Vuser load generator.
<<<<<< =================== >>>>>>
Q. 85: What is the use of Expert mode of Controller module of LoadRunner?
It is basically meant for the support personnel & helps us in getting access to the system
information.
When we work in the Expert mode, the Controller dialog boxes contains additional options for fine
tuning the Controller operation.
<<<<<< =================== >>>>>>
Q. 86: How to check whether a particular problem lies with a scenario or lies with the Vuser script?
1) Verify that the script runs properly on all remote load generators in stand-alone mode.
2) Test the GUI Vuser scripts on Windows platforms using WinRunner.
3) Test the Vuser scripts on UNIX platforms by running them from the command line.
4) Test all other types of Vuser scripts on Windows platforms by running them from VuGen, or by
running a single user from the Controller.
<<<<<< =================== >>>>>>
Q. 87: What to do when a test passes when run in VuGen, but fails when run in Controller?
When a test runs in VuGen, the full browser is used. However when this test is run in Controller, it
use the browser basics only.
Hence before running a scenario in the Controller with multiple Vusers, it is a best practice to run a
single Vuser in stand-alone mode to ensure that the test is free from bugs.
<<<<<< =================== >>>>>>
Q. 88: What to do when Controller machine fails to connect to the remote load generator machine?
Check the following items:1) Check TCP/IP connectivity: Ensure full TCP/IP connectivity among the
Controller and Vuser machines. Use the ping utility from the DOS command line to verify
communication with a remote machine.
2) Check Load generator connections: Ensure full connectivity of the load generator with every
remote load generators from the Controller's Load Generators dialog box.
3) Check UNIX shell: For UNIX Vusers, make sure that the Windows Controller can execute a remote
shell command.
<<<<<< =================== >>>>>>
Q. 89: What is the use of LoadRunner Agent?
LoadRunner Agent runs on the load generators and enables communication between the Controller,
load generators, and MI Listeners under fire-walled environment.
The LoadRunner agent receives instructions from the Controller to initialize, run, pause, and stop
Vusers. At the same time, the agent also relays data on the status of the Vusers back to the
Controller.
<<<<<< =================== >>>>>>
Q. 90: How can we increase the load during the Load test?
We can increase the load on the application during a running load test by manually adding more
Vusers.
Q. 91: What to do in case of a warning message that Controller cannot activate additional Vusers?
This is a hardware related problem. It happens when we use our local machine having limited
memory resources, as a load generator.
Hence it is better to use a dedicated machine as a load generator to avoid such problems.
<<<<<< =================== >>>>>>
Q. 92: How to know as to whether my application performed well under the load?
Look at the transaction response time and find out whether the transaction was within an
acceptable limit for the customer.
If the transaction response time degrades, we need to look for problems.
<<<<<< =================== >>>>>>
Q. 93: When do we use of goal-oriented scenario in LoadRunner?
Prior to deploying an application, we want to run an acceptance test to make sure that the system
will withstand the real-life expected workload.
We have an idea about a rate at which we expect the server should perform say in terms of number
of hits or transactions per second.
Using a goal-oriented scenario we define a goal for the number of hits per second, transactions per
second, or the transaction response time which we want to generate.
<<<<<< =================== >>>>>>
Q. 94: How many types of goals are provided by LoadRunner in a goal oriented scenario?
LoadRunner provides following five types of goals in a goal oriented scenario:
1) Number of concurrent Vusers.
2) Number of hits per second.
3) Number of transactions per second.
4) Number of pages per minute.
5) Transaction response time which we want the scenario to reach.
<<<<<< =================== >>>>>>
Q. 95: What is the objective of an analysis session after the load test?
The aim of an analysis session is to find out the failures in performance of our system and then to
point out the root cause of such failures.
Following questions are asked during the analysis session.
1) Were the test expectations met?
2) What was the transaction response time on the user's end under load?
3) Did the SLA meet or deviate from its goals?
4) What was the average transaction response time of the transactions?
5) What parts of the system could have contributed to the decline in performance?
6) What was the response time of the network and servers?
7) Can we find a possible cause by correlating the transaction times and backend monitor matrix?
<<<<<< =================== >>>>>>
Q. 96: What to do when a script fails during simple playback, while during recording same actions
were successful?
Many applications use dynamic values which change every time we use the application. For
example, some servers assign a unique session ID for every new session. When we try to replay a
recorded session, the application creates a new session ID which happen to differ from the recorded
session ID.
LoadRunner addresses this issue through correlation. Correlation saves the changing values, in this
case the session ID, to a parameter. When running the emulation, the Vuser does not use the
recorded value and instead of it, it uses the new session ID, assigned to it by the server.
<<<<<< =================== >>>>>>
Q. 97: How to confirm as to whether the desired content is the same as the returned web page?
This can be done through the content check which verifies that the expected information appears on
a Web page while the script is running.
We can insert following two types of content checks:
1) Text check: For checking that a text string appears on a Web page.
2) Image check: For checking an image on a Web page.
<<<<<< =================== >>>>>>
Q. 98: What is the use of a Throughput graph?
The Throughput graph shows the amount of data in terms of bytes which the Vusers receive from
the server at any given second.
We then compare this graph with the Transaction Response Time graph to see how throughput
affects transaction performance.
<<<<<< =================== >>>>>>
Q. 99: How to know that the test has finished running?
When the test finishes its run, the Scenario Status pane shows the Down status. This indicates that
the Vusers have stopped running.
We can look in the Vuser dialog box to see the status of each individual Vuser.
<<<<<< =================== >>>>>>
Q. 100: How can we instruct LoadRunner to randomly run only one Vuser in a group?
This can be done by right-clicking the Vuser group and selecting "Run One Vuser Until Complete".
A Vuser script log will open, displaying the run-time information about the Vuser.
Q. 1: What is the basic purpose of HP LoadRunner?
LoadRunner is a tool for performance testing, which stresses the complete software application to
isolate and identify potential client, network, and server bottlenecks.
<<<<<< =================== >>>>>>
Q. 2: What is Virtual User Generator or VuGen when talking about LoadRunner?
When testing or monitoring an environment, we need to emulate the true behavior of various users
on the system. The testing tools like Loadrunner emulate an environment in which users
concurrently work on the system.
For doing such an emulation, the human being is replaced with a virtual user - called a Vuser. All the
actions performed by Vusers are recorded in a Vuser script. The basic tool for creating Vuser scripts
is the Virtual User Generator called VuGen.
These scripts help us in emulating real-life situations of user performing various business processes.
<<<<<< =================== >>>>>>
Q. 3: What is the purpose of HP Performance Center?
Performance Center operates in conjunction with LoadRunner & implements the capabilities of
LoadRunner on an enterprise level.
<<<<<< =================== >>>>>>
Q. 4: What actions are performed by VuGen during recording?
During recording VuGen monitors the client end of the database and traces all the requests sent by
the user and received from the user, to the server. It records all the actions performed by us during
the recording session and records only the activity between the client and the server.
VuGen automatically generates functions that accurately model and emulate the real world
situations.
Duiring recording of a Vuser script, VuGen generates various functions which define the actions that
we perform during the recording session. VuGen inserts these functions into the VuGen editor to
create a basic Vuser script.
<<<<<< =================== >>>>>>
Q. 5: How a Vuser script enables running of large number of Vusers during the playback?
During playback, Vuser scripts communicate directly with the server by executing calls to the server
API.
When a Vuser communicates directly with a server, system resources are not required for the client
interface. This lets us run a large number of Vusers simultaneously on a single workstation, and
enables us to use only a few testing machines to emulate large server loads.
For example, we can observe how a server behaved when one thousand Vusers simultaneously
withdrew cash from a bank's ATM.
<<<<<< =================== >>>>>>
Q. 6: What are the advantages of creating Vusers?
1) Since Vuser scripts do not depend on client software, we can use Vusers to check server
performance even before the user interface of the client software has been fully developed.
2) With the help of VuGen, we can run scripts as standalone tests.
3) Running scripts through VuGen is useful for debugging since it enables us to see how a Vuser will
behave and which enhancements need to be made.
<<<<<< =================== >>>>>>
Q. 7: What are the advantages of VuGen?
VuGen enables us to record a variety of Vuser types, each suited to a particular load testing
environment or topology. When we open a new test, VuGen displays a complete list of the
supported protocols.
VuGen not only records Vuser scripts, but also runs them. Running scripts from VuGen is useful for
debugging. It enables us to emulate how a Vuser script will run when executed as part of a larger
test.
<<<<<< =================== >>>>>>
Q. 8: What are the Steps of Creating Vuser Scripts?
Following steps are used for creating a Vuser script:
1) Recording a basic script using VuGen: For testing Windows-based GUI applications or complex
Web environments like applets and Flash, we need to use GUI-based tools like HP QuickTest
Professional.
2) Enhancing the basic script: By adding control-flow statements and other LoadRunner API functions
into the script.
3) Configuring the run-time settings: Settings like iteration, log, and timing information need to be
configured, and Vuser behavior needs to be defined during a script run.
4) Verifying the script's functionality: By running it in standalone mode.
5) Integrating the Vuser script: After verification that the script is functional, it is integrated into our
environment
<<<<<< =================== >>>>>>
Q. 9: What platforms are supported by VuGen?
VuGen records sessions on Windows platforms only.
However, a recorded Vuser script can run on both Windows as well as UNIX platform.
<<<<<< =================== >>>>>>
Q. 10: What Environment Options are available for setting up VuGen?
VuGen working environment can be set up by configuring following options:
1) Auto Recovery Option: For restoring our script's settings in the event of a crash or power outage.
For allowing auto recovery, we can specify a desired time interval between the saves in minutes. By
default, Auto Recovery is set to 10 seconds.
2) Editor Option: For selecting a particular font and enable VuGen's Intellisense capabilities which
automatically fill in words and function syntax.
Q. 11: What types of views are provided by VuGen for examining the contents of our scripts?
VuGen provides several views for examining the contents of the script:
1) A text-based Script view: This view lets us examine the actual API functions which were recorded
or inserted into the script. This view is ideal for advanced users who want to program within the
script by adding "C" or Vuser API functions as well as control flow statements.
2) An icon based Tree view with snapshots, or an icon based Thumbnail view: This view shows the
Vuser script in an icon-based format, with each step represented by a different icon. Within the Tree
view, we can manipulate steps by dragging them to the desired location. We can also add additional
steps between existing steps in the tree hierarchy.
<<<<<< =================== >>>>>>
Q. 12: What are the snapshots as displayed by the VuGen?
A snapshot is a graphical representation of the current step.
When working in Tree view, VuGen displays the snapshot of the selected step in the right pane. The
snapshot shows the client window after the step was executed.
VuGen captures a base snapshot during recording and another one during replay. We can compare
the Record and Replay snapshots to determine the dynamic values that need to be correlated in
order to run the script.
<<<<<< =================== >>>>>>
Q. 13: How and when we examine multiple snapshots for a single step?
In many protocols like Microsoft Remote Desktop Protocol (RDP), we can view multiple snapshots
for a single step.
This occurs when a mismatch occurs during replay and we decide to append the new image to the
step.
<<<<<< =================== >>>>>>
Q. 14: What is the format of Snapshot Files & where these are stored?
Every time we replay the script, VuGen saves the snapshot files in the script directory with an .inf
extension.
The replay snapshots are located in the script's result directory like Iteration1, Iteration2 etc. for
every set of results.
<<<<<< =================== >>>>>>
Q. 15: How many tabs are available In the Snapshot window for Web Vusers?
In the Snapshot window for Web Vusers, following tabs are available:
1) Page View: Display the snapshot in HTML as it would appear in a browser. This button is available
for both the recording and replay snapshots. This viewis used to make sure that we are viewing the
correct snapshot. In this view we do not see the values which need to be correlated.
2) Server Response: Displays the server response HTML code of the snapshot. This button is available
for both the recorded and replayed snapshots. The HTML view also shows a tree hierarchy of the
script in the left pane, with a
breakdown of the document's components like: Header and Body with the title, links & forms etc.
3) Client Request: Displays the client request HTML code of the snapshot. This button is available for
both the recorded and replayed snapshots. The HTML view also shows a tree hierarchy of the script
in the left pane, with a breakdown of the document's components like: Header and Body and their
subcomponents.
<<<<<< =================== >>>>>>
Q. 16: What are Vuser functions created by VuGen?
When we record a Vuser script, VuGen generates Vuser functions and inserts them into the script.
Vuser functions are of following two types:
1) General Vuser Functions: This is also known as LR functions because each LR function has an lr
prefix. The LR functions can be used in any type of Vuser script.
2) Protocol-Specific Vuser Functions: These are particular to the type of Vuser that we are recording.
For example, VuGen inserts LRD functions into a database script, LRT functions into a Tuxedo script,
and LRS functions into a
Windows Sockets script.
The general Vuser functions and the protocol-specific functions together form the LoadRunner API.
This API enables Vusers to communicate directly with a server.
<<<<<< =================== >>>>>>
Q. 17: What is the purpose of Gneral Vuser functions or LR Functions?
General Vuser functions or LR Functions enable us to do the following:
1) Getting run-time information about a Vuser, its Vuser Group, and its host.
2) Adding transactions and synchronization points to a Vuser script. For example, the
lr_start_transaction (lr.start_transaction in Java) function indicates the beginning of a transaction,
and the lr_end_transaction (lr.end_transaction in Java) function indicates the end of a transaction.
3) Sending messages to the output, indicating an error or a warning.
<<<<<< =================== >>>>>>
Q. 18: What is Word Completion feature in VuGen?
Word Completion feature is a part of the IntelliSense enhancements in VuGen.
When the we begin typing a function, after we type the first underscore, VuGen opens a list box
displaying all available matches to the function prefix, along with the function's syntax and
description. To use one of the displayed functions, select it, or scroll to the desired item and then
select it. VuGen inserts the function at the location of the cursor. To close the list box, press the Esc
key.
By default, VuGen uses word completion feature globally. But we can manually disable the word
completion feature.
<<<<<< =================== >>>>>>
Q. 19: What is Show Function Syntax feature in VuGen?
Show Function Syntax is also a part of the IntelliSense enhancements in VuGen.
When we type the opening parenthesis of a function, VuGen shows the syntax of the function with
its arguments and prototypes and a brief description.
By default, Show Function Syntax is enabled globally, but it can be disabled manually.
<<<<<< =================== >>>>>>
Q. 20: What is purpose of Header Files?
All of the non-Java function prototypes are listed in the library header files. The header files are
located within the include directory of the product installation.
Header Files contain detailed syntax information and return values. Header Files also contain
definitions of constants, availability, and other advanced information which is not included in the
Function Reference.
In most of the cases, the name of the header file corresponds to the prefix of the protocol. For
example, Database functions that begin with an lrd prefix, are listed in the lrd.h file.
Q. 21: How can we view the VuGen Workflow while creating scripts?
VuGen provides a set of workflow screens, which guide us through the different steps of creating a
script. A basic script is created in the beginning and then we adapt it for our test or production
environment.
By default, after installation VuGen opens with the Workflow view. We can also work in the Tree
view or Script view. The next time we start VuGen and open a script, it opens to the view that we
had open when we exited VuGen the last time. We can switch back to the wizard view by clicking on
any task in the Task Pane.
<<<<<< =================== >>>>>>
Q. 22: What are the steps involved in parameterizing an argument in a script?
Various steps of parameterization are:
1) Locating the argument you want to parameterize
2) Giving the parameter a name
3) Selecting a parameter type
4) Defining properties for the parameter type
5) Replacing the argument with a parameter
<<<<<< =================== >>>>>>
Q. 23: What are the steps to run the load tests on the system to check the response and capacity of
the machine?
This involves following two steps:
1) Iterations: This portion of the Workflow Wizard provides an introduction to iterations and allows
us to open the Run-Time settings for setting their values.
2) Concurrent Users: This portion of the Workflow Wizard guides us through the process of creating
a scenario using the LoadRunner Controller. In a scenario, we can specify the number of users to run
concurrently and we can observe the behavior of our system with multiple users.
<<<<<< =================== >>>>>>
Q. 24: What are the steps involved while Finishing our Script?
The final Finishing step of the Workflow wizard involves the following actions:
1) Creating a Scenario: For running a load test on our system using the LoadRunner Controller.
2) Uploading to Performance Center: For running a test through a Performance Center server
installation.
3) Uploading to Quality Center: For adding a test to the test repository.
4) Creating Business Process Report: Creating a Microsoft Word document containing a summary of
the VuGen script.
<<<<<< =================== >>>>>>
Q. 25: What are the various sections of Vuser Script?
Every Vuser script created by VuGen contains a minimum of following three sections. Before and
during the recording, we can chose the section of the script into which VuGen should insert the
recorded functions.
1) vuser_init Section: This section is used when recording a login to a server. This section gets
executed when the Vuser gets initialized or loaded. While running multiple iterations of a Vuser
script, this section does not get repeated.
2) Actions Section: This section is used when recording client activity. This section gets executed
when the Vuser is in Running status. When we run multiple iterations of a Vuser script, this is the
only section of the script which gets repeated.
3) vuser_end Section: This section is used when recording a logoff procedure. This section gets
executed when the Vuser finishes or is stopped. While running multiple iterations of a Vuser script,
this section does not get repeated.
<<<<<< =================== >>>>>>
Q. 26: How do we view and edit the contents of script sections?
VuGen script editor is used to view and edit the contents of every section of the script. We can
display the contents of only a single section at a time. To display a section, we just need to highlight
its name in the left pane.
<<<<<< =================== >>>>>>
Q. 27: What is an actions class related to Vuser scripts?
We place all the code in the actions class, while working with Vuser scripts which use Java classes.
The Actions class contains following three methods, which correspond to the sections of scripts
developed using other protocols:
1) Init method: This is used for inserting initialization routines.

2) Action method: This is used for inserting client actions.

3) End method: This is used for inserting log off procedures
<<<<<< =================== >>>>>>
Q. 28: How can we import actions into our script from another Vuser script?
We can import actions into our script from another Vuser script, only for the types of Vusers which
support multiple actions.
We can import the actions from Vusers of the same type only. As a result, all parameters associated
with the imported action, will get merged with the script.
Following two options are available for importing actions :
1) Import From Vuser.

2) Action to Import.
<<<<<< =================== >>>>>>
Q. 29: How do we convert our script to some presentable format describing the business process?
At the final stage of script creation, we can create a report describing our business process. VuGen
exports the script information to a Microsoft Word document.
We can use a pre-designed template or the one provided with VuGen, to create structured reports
with summary information about our test run. VuGen allows us to customize the contents of the
report by indicating what type of information we want to include in it.
<<<<<< =================== >>>>>>
Q. 30: What type of preferences are necessary to be set before Script Generation?
Before recording a session, VuGen allows us to set the following preferences:
1) Specification of a language for script generation: The available languages for script generation
vary according to the protocol. Some of the available languages are C, C#, Visual Basic, Visual Basic
.NET, VB Script, and Javascript. By default, VuGen generates a script in the most common language
suitable to the protocol, but we can change this through the Script recording options.
A script recorded in one language can be easily regenerated in another language after the recording.
2) Specification of language-specific recording options: This is done to instruct the recorder as to
what to include in the script and how to generate it.
Learn "VuGen" Module of HP LoadRunner through FAQ's:

Q. 31: How do we select the best possible Scripting Language while recording?
While we begin a recording session, VuGen automatically creates a script which emulates our
actions by default.
Various script generation languages used by VuGen are:
1) For MS .NET the default language is C or C# .
2) For the FTP, COM/DCOM, and mail protocols (IMAP, POP3, and SMTP): Visual Basic, VB Script, and
Javascript.
Following languages are best suited for the respective applications:
1) C Language: For recording applications that use complex COM constructs and C++ objects.
2) C # Language: For recording applications that use complex applications and environments under
MS .NET protocol only.
3) Visual Basic .NET Language: For VB .NET applications, using the full capabilities of VB.
4) Visual Basic for Applications: For VB-based applications, using the full capabilities of VB.
5) Visual Basic Scripting: For VBscript-based applications, such as ASP.
6) Java Scripting: For Javascript-based applications such as js files and dynamic HTML applications.
<<<<<< =================== >>>>>>
Q. 32: How can we can map the network traffic from a specific server while recording Vuser scripts?
While recording Vuser scripts which record network traffic on a socket level like -HTTP, SMTP, POP3,
FTP, IMAP, Oracle NCA and WinSocket, we can set the Port Mapping options.
With such options, we can map the traffic from a particular server by defining the port combination
to the desired communication protocol.
Mapping is created by specifying a server name, port number, or a complete server - port
combination. Few examples are:
1) Specify that all the traffic from the server ABC on port 25, should be handled as SMTP.
2) Specify that all traffic from the server called XYZ should be mapped to the FTP protocol, regardless
of the port.
3) Specify to map all traffic on port 23 to SMTP, regardless of the server name.
<<<<<< =================== >>>>>>
Q. 33: What is Forced Mapping?
If we specify a mapping for a port number, server name, or combination server - port, VuGen forces
the network traffic to use that service.
For example, if we were to specify server on port 80 to use FTP, VuGen uses the FTP protocol to
record that communication, even though the actual communication may be HTTP. In this instance,
the Vuser script might be empty.
<<<<<< =================== >>>>>>
Q. 34: What is Traffic Forwarding & when do we use it?
Traffic Forwarding refers to the process of forwarding all traffic from a specific port to another
server. This is useful in situations where VuGen cannot run properly on the client, such as unique
UNIX machines, or instances where it is impossible to launch the application server through VuGen.
An option "Allow forwarding to target server from local port" is available wherein we configure
VuGen to intercept the traffic from the problematic client machine, and pass it on to the server.
Thus VuGen is able to process the data and generate code for the actions.
<<<<<< =================== >>>>>>
Q. 35: What type of enhancements are done to the Vuser Scripts?
We can enhance a Vuser script :
1) By adding General Vuser functions
2) By adding Protocol-Specific Vuser functions
3) By adding Standard ANSI C functions.
We can enhance the Vuser script either during the recording or after the recording.
<<<<<< =================== >>>>>>
Q. 36: What is the utility of General Vuser Functions in Vuser Scripts?
General Vuser functions are added to any Vuser scripts to enhance its functionality. For example, we
can use General Vuser functions to measure the server performance, control server load, add
debugging code, or to retrieve the run-time information about the Vusers participating in the test.
Some of the General Vuser functions are generated by VuGen and are inserted into the Vuser script
during recording.
General Vuser functions can be used in any type of Vuser script. All General Vuser functions have an
LR prefix.
<<<<<< =================== >>>>>>
Q. 37: What is the utility of Protocol-Specific Functions in Vuser Scripts?
The aim of having Protocol-Specific Functions is also to enhance the Vuser scripts. Many libraries of
special functions are available for use.
We have libraries of functions specific to a particular type of Vuser. For example, we use the LRS
functions in a Windows Sockets Vuser script and LRT functions in a Tuxedo Vuser script.
<<<<<< =================== >>>>>>
Q. 38: What is the utility of Standard ANSI C Functions in Vuser Scripts?
The aim of having Standard ANSI C Functions is also to enhance the Vuser scripts.
ANSI C functions allow us to add comments, control flow statements, conditional statements etc. to
the Vuser scripts. we can add standard ANSI C functions to any type of Vuser script.
<<<<<< =================== >>>>>>
Q. 39: What is the purpose of transactions in Vuser Scripts?
Transactions are defined to measure the performance of the server. Every transaction measures the
time it takes for the server to respond to specified Vuser requests. These requests can be simple
tasks like waiting for a response for a single query, or complex tasks like submitting several queries
and generating a report.
We insert Vuser functions in the Vuser scripts to mark the beginning and the end of a task for
measuring a transaction.
We can mark any number of transactions in a script, and each transaction can be specified with a
different name.
The transactions can be created during the recording as well after the recording by using transaction
editor.
<<<<<< =================== >>>>>>
Q. 40: What steps are needed to create a transaction to measure a business process?
Before creating a script, we need to decide on the business processes we want to measure. Next
step is to mark every business process or sub-process as a transaction.
Transaction creation has two basic steps.
1) Marking the start of the transaction

2) Marking the end of the transaction
We can create nested transactions that is creating transactions within transactions.
Q. 41: What is the purpose of Rendezvous Points in LoadRunner?
While doing the load testing of our system, we need to emulate heavy user load on the system. For
simultaneous application of a particular amount of load, we synchronize Vusers to perform a
particular task exactly at the same moment. Thus the point at which all the Vusers act
simultaneously is called Rendezvous Point
In Vuser script we mark the meeting place for all Vusers by inserting a rendezvous in it. When some
Vuser arrives at the rendezvous point, it waits until all the remaining Vusers participating in the
rendezvous arrive. When the designated number of Vusers arrive at the rendezvous point, the
Vusers are released from the rendezvous for performing the next task in the script.
<<<<<< =================== >>>>>>
Q. 42:The Rendezvous points are operative in how many sections of Vuser scripts?
Rendezvous points are effective only in the Action section of Vuser scripts. They are not effective in
either the init section or the end section of the Vuser scripts.
<<<<<< =================== >>>>>>
Q. 43: How many types of functions can be added to the Vuser scripts to retrieve Vuser information?
We can add following functions to our Vuser scripts:
1) lr_get_attrib_string: For returning a command line parameter string.
2) lr_get_host_name: For returning the name of the machine running the Vuser script.
3) lr_get_master_host_name: For returning the name of the machine running the Controller.
4) lr_whoami : For returning the name of a Vuser executing the script.
<<<<<< =================== >>>>>>
Q. 44: What are the mechanisms available for Vuser to handle the errors during script execution?
By default, when a Vuser detects an error, the Vuser stops executing the script. We can instruct a
Vuser to continue with the next iteration when an error occurs using one of the following methods:
1) By run-time settings method: We can specify the Continue on Error run-time setting. The
Continue on Error run-time setting applies to the entire Vuser script. We can use the
lr_continue_on_error function to override the Continue on Error run-time setting for a portion of a
script.
2) By lr_continue_on_error function: This function enables us to control error handling for a specific
segment of a Vuser script. To mark the segment, enclose it with lr_continue_on_error(1);and
lr_continue_on_error(0); statements. The new error settings apply to the enclosed Vuser script
segment.
<<<<<< =================== >>>>>>
Q. 45: What is think time?
The time for which a user waits between performing successive actions is known as the think time.
Vusers use the lr_think_time function to emulate user think time. When we record a Vuser script,
VuGen records the actual think times and inserts appropriate lr_think_time statements into the
Vuser script.
We can edit the recorded lr_think_time statements, and manually add more lr_think_time
statements to a Vuser script.
While recording Java Vuser scripts, lr_think_time statements are not generated in the Vuser script.
<<<<<< =================== >>>>>>
Q. 46: What functions we use to read the command line arguments & to pass the values to a Vuser
script?
We use following three functions for reading the command line arguments, and then to pass the
values to a Vuser script:
1) lr_get_attrib_double: For retrieving double precision floating point type arguments.
2) lr_get_attrib_long: For retrieving long integer type arguments.
3) lr_get_attrib_string: For retrieving character strings.
<<<<<< =================== >>>>>>
Q. 47: Why do we use VuGen Parameters?
When we record a business process, VuGen generates a Vuser script composed of functions. The
values of the arguments in the functions are the actual values used during the recording session.
For example, when we recorded a Vuser script while operating a web application. VuGen had
generated a statement which searches a library's database for the title say "ABC". Now when we
replay the script using multiple Vusers and iterations, we would not want to repeatedly use the
same value "ABC". Instead, we would replace the constant value with a parameter:
The resulting Vusers then substitute the parameter with values from a data source that we specify.
The data source can be either a file, or internally generated variables.
<<<<<< =================== >>>>>>
Q. 48: What are the actions involved in parameterizing a Vuser script?
Parameterization of Vuser script involves the following two tasks:
1) Replacing the constant values in the Vuser script with parameters.
2) Setting the properties and data source for the parameters.
<<<<<< =================== >>>>>>
Q. 49: What are the advantages of parameterizing Vuser scripts?
Parameterizing a Vuser script has two advantages:
1) It reduces the size of the script.
2) It provides the ability to test the script with different values.
For example, if we want to search a library's database for several titles, we only need to write the
submit function once. Instead of instructing our Vuser to search for a specific item, use a parameter.
During replay, VuGen substitutes different values for the parameter.
<<<<<< =================== >>>>>>
Q. 50: What are the limitations associated with parametrization of Vuser scripts?
Few limitations of parametrization of Vuser scripts are:
1) We can use parameterization only for the arguments within a function.
2) We cannot parameterize text strings which are not function arguments.
3) We can not parameterize all the function arguments.
Q. 51: What special commands are available for parameterization of VuGen generated Vuser scripts?
1) We can use the lr_eval_string function to "parameterize" a function argument which cannot be
parameterized by using standard parameterization.
2) We can use the lr_eval_string function to "parameterize" any string in a Vuser script.
3) For VB, COM, and Microsoft .NET protocols, we need to use the lr.eval string function to define a
parameter. For example,
r.eval_string("{Custom_param}").
<<<<<< =================== >>>>>>
Q. 52: How many Parameter Types are there in Vugen?
While creating a parameter, we specify the following four type of sources for the parameter data.
Accordingly there are four type of parameters like:
1) File or Table Parameter
2) XML Parameter
3) Internal Data Parameter
4) User-Defined Function
<<<<<< =================== >>>>>>
Q. 53: What are Datafiles?
Data files store all the data accessed by the Vuser during script execution. Data files are of two types
viz. 1) Local Data Files 2) Global Data Files.
Data files are useful when we have many known values for our parameter. The data in a data file is
stored in the form of a table. One file can contain values for many parameters. Each column holds
the data for one parameter. Column breaks are marked by a delimiter like a comma. For example,
the undermentioned data file contains ID numbers and the Name of the persons:
id,name
250,Arun
251,Vivek
252,Sneha
We can use an existing ASCII file, or can import a database file or can instruct VuGen to create a new
datafile for us.
<<<<<< =================== >>>>>>
Q. 54: What are File and Table Parameter Types?
While creating a parameter, we specify the source of the parameter data. We use parameters, by
instructing the Vusers to take values from an data table or an external file which contains values
defined by the user.
These parameters are called File and Table type parameters.
The Table parameter type is meant for applications needing testing by filling in table cell values.
Whereas the file type uses one cell value for each parameter occurrence, the table type uses several
rows and columns as parameter values, similar to an array of values. Using the table type, we can fill
in an entire table with a single command.
<<<<<< =================== >>>>>>
Q. 55: What are the XML Parameter Types?
XML Parameter Types are the placeholder for multiple valued data contained in an XML structure.
We can use an XML type parameter to replace the entire structure with a single parameter. For
example, an XML parameter by the name Address can replace a contact name, an address, city, and
postal code.
With the help of XML parameters we can have cleaner input of the data, and enables cleaner
parameterization of Vuser scripts. XML parameters are recommended for use with Web Service
scripts or for SOA services.
<<<<<< =================== >>>>>>
Q. 56: What are the Internal Data Parameter Types?
Internal data gets created automatically when a Vuser runs. These are like Date/Time, Group Name,
Iteration Number, Load Generator Name, Random Number, Unique Number, and Vuser ID etc.
We can define the properties for the data getting generated internally by the Vuser.
<<<<<< =================== >>>>>>
Q. 57: What are the User Defined Parameter Types?
User Defined Parameter Types are the data being generated using a function from an external DLL.
A user-defined function replaces the parameter with a value returned from a function located in an
external DLL.
Before we assign a user-defined function as a parameter, we need to create an external library (DLL)
with the function. The format of the user defined function is: __declspec(dllexport) char *(char *,
char *)
<<<<<< =================== >>>>>>
Q. 58: What is the Global Directory option for Parameterization in VuGen?
Global Directory option is available only for backward compatibility with earlier versions of VuGen.
In earlier versions like 4.51 and below, when we created a new data table, there was a need to
specify local or global. A local table is saved in the current Vuser script directory and is only available
to Vusers running that script. A global table is available to all Vuser scripts. The global directory can
be on a local or network drive.
However it is essential that the global directory is available to all machines running the script. We
can change the location of the global tables at any time with the help of General Options dialog box.
In newer versions of VuGen, we need to specify the location of the data table either in the
Parameter Properties dialog box or in the Parameter List dialog box. VuGen is able to retrieve the
data from any location that we specify. It may be either the default script directory or another
directory on the network.
<<<<<< =================== >>>>>>
Q. 59: How do we Import Data for parameterization from an Existing Database?
VuGen allows us to import data from a database for use with parameterization. We can import the
data in either of the following two ways:
1) Creating a New Query via an MS Query
2) Specifying an SQL Statement
We can use the wizard provided by the VuGen for importing data from a database. Here we need to
specify the way of importing the data as described above. After completion of importing the data, it
is saved as a file with a .dat extension and stored as a regular parameter file.
<<<<<< =================== >>>>>>
Q. 60: What are the ways to assign data from a file source to the parameters in VuGen?
Three methods are used for assigning data from a file source to the parameters:
1) Sequential Method: It assigns data to a Vuser sequentially. As a running Vuser accesses the data
table, it takes the next available row of data. If there are not enough values in the data table, VuGen
returns to the first value in the table, continuing in a loop until the end of the test.
2) Random Method: It assigns a random value from the data table to each Vuser at the start of the
test run.
When running a scenario, we can specify a seed number for random sequencing. Each seed value
represents one sequence of random values used for test execution. Whenever we use this seed
value, the same sequence of values is assigned to the Vusers in the scenario. We enable this option
in case of any problem in the test execution and there is a need to repeat the test using the same
sequence of random values.
3) Unique Method: It assigns a unique sequential value to the parameter for each Vuser.
For using this method we need to ensure that there is enough data in the table for all the Vusers and
their iterations. If there are 20 Vusers and we want to perform 5 iterations, our table must contain at
least 100 unique values. If there are not enough values in the data table, we can instruct VuGen how
to proceed.
Q. 61: How many methods are available in VuGen for updating several parameter types?
Following three parameter update methods are available:
1) Each Occurrence method: It instructs the Vuser to use a new value for each occurrence of the
parameter. This is useful when the statements using a parameter are unrelated. For example, for
random data, it may be useful to use a new value for each occurrence of the parameter.
2) Each Iteration method: It instructs the Vuser to use a new value for each script iteration. If a
parameter appears in a script several times, the Vuser uses the same value for all occurrences of the
parameter, for the entire iteration. This is useful when the statements using a parameter are
related.
3) Once method: It instructs the Vuser to update the parameter value only once during the scenario
run. The Vuser uses the same parameter value for all occurrences and all iterations of the
parameter. This type may be useful when working with dates and times.
<<<<<< =================== >>>>>>
Q. 62: What is Simulation of File Type Parameters for LoadRunner users?
Once a File type parameter is created, we can use the File Parameter Simulator to simulate the
parameter substitution in an actual scenario.
Simulator allows us to correct any wrong parameters before we run the script in the Controller.
<<<<<< =================== >>>>>>
Q. 63: What is the purpose of correlating statements in VuGen?
VuGen provides "Correlated Query" feature for linking the statements by using the results of one
statement as input for the other. Correlating statements are used for optimizing the Vuser
scripts.The objective of correlating statements are:
1) To simplify or optimize the code: For example, if we perform a series of dependent queries one
after another, the code tends to become very long. To reduce the size of the code, we can nest the
queries, but in this process we lose the precision and the code becomes complex and difficult to
understand. In such a situation, correlating the statements enables us to link the queries without
nesting.
2) To generate dynamic data: Many applications and Web sites identify a session by the current date
and time. When we try to replay a script, it will fail because the current time is different than the
recorded time. Correlating the data enables us to save the dynamic data and use it throughout the
scenario run.
3) To accommodate unique data records: Certain applications like databases require the use of
unique values. A value that was unique during recording is no longer unique for script execution. Lt
us take an example, wherein we record the process of opening a new bank account. Each new
account is assigned a unique number which is unknown to the user. This account number is inserted
into a table with a unique key constraint during recording. If we try to run the script as recorded, it
tries to create an account with the recorded number, rather than a new unique number. An error
will result because the account number already exists.
<<<<<< =================== >>>>>>
Q. 64: What are the various types of C Vuser correlation functions?
Following three types of C Vuser correlation functions are used for correlating the statements for
protocols which do not have any specific functions. These can be used to save a string to a
parameter and retrieve it as and when required.
1) lr_eval_string Function: Replaces all occurrences of a parameter with its current value.
2) lr_save_string Function: Saves a null-terminated string to a parameter.
3) lr_save_var Function: Saves a variable length string to a parameter.
<<<<<< =================== >>>>>>
Q. 65: What are the various types of Java Vuser correlation functions?
Following seven types of Java Vuser correlation functions are used . These can be used to save a
string to a parameter and retrieve it as and when required.
1) lr.eval_string Function: Replaces a parameter with its current value.
2) lr.eval_data Function: Replaces a parameter with a byte value.
3) lr.eval_int Function: Replaces a parameter with an integer value.
4) lr.eval_string Function: Replaces a parameter with a string.
5) lr.save_data Function: Saves a byte as a parameter.
6) lr.save_int Function: Saves an integer as a parameter.
7) lr.save_string Function: Saves a null-terminated string to a parameter.
<<<<<< =================== >>>>>>
Q. 66: What is the purpose of WDiff utility?
WDiff is a tool for determining which values to correlate. With the help of this we can compare
recorded scripts and results to find out as to which values need to be correlated.
While working with other protocols, we can view the Execution log to find out where the script failed
and then use the WDiff utility to help us in locating the values that need to be correlated.
For making an effective use of WDiff utility, we need to record the identical operation twice, and
compare the scripts. It displays differences in yellow color.
<<<<<< =================== >>>>>>
Q. 67: Why do we configure th run-time settings for Vuser Scripts?
After a Vuser script is recorded, we need to set its run-time settings to define the way the new script
should run. These run-time settings get applied to the Vusers when a script is made to run through
LoadRunner's VuGen or Controller.
These run-time settings are stored in the "default.cfg" file, located in the Vuser script directory.
By defining the run-time settings we can emulate various types of user activity. For example, we can
emulate a user who responds immediately to output from the server, or a user who stops and thinks
before each response. We can use these run-time settings to specify how many times the Vuser
should repeat its set of actions.
<<<<<< =================== >>>>>>
Q. 68: What are Action Blocks in Scripts?
Action blocks are groups of actions within the script. We can create separate action blocks for
groups of actions by adding the same action to several blocks. We can instruct VuGen to execute
action blocks or individual actions sequentially or randomly.We can set the properties of each action
block independently. These properties can be like the following:
1) Sequence:
means the order of actions within your script.
2) Iterations:
Means the number of times Vusers repeat all of the Actions.
3) Weighting:Means weight or percentage of each action within a block.
<<<<<< =================== >>>>>>
Q. 69: What is the purpose of Pacing Run Time settings for multiple actions?
Pacing Run Time settings allows us to control the time between iterations. The pace tells the Vuser
how long to wait between iterations of your actions. We can instruct the Vusers to start each
iteration by either of the following methods:
1) As soon as the previous iteration ends: The new iteration begins as soon as possible after the
previous iteration ends.
2) After the previous iteration ends with a fixed or random delay: It starts each new iteration a
specified amount of time after the end of the previous iteration. Specify either an exact number of
seconds or a range of time. For example, we can specify to begin a new iteration at any time
between 60 and 90 seconds after the previous iteration ends.
3) At fixed or random intervals: We specify the time between iteration - either a fixed number of
seconds or a range of seconds from the beginning of the previous iteration. For example, we can
specify to begin a new iteration every 30 seconds, or at a random rate ranging from 30 to 45 seconds
from the beginning of the previous iteration. Each scheduled iterations will only begin when the
previous iteration is complete.
<<<<<< =================== >>>>>>
Q. 70: How many type of information logging are available?
We can specify the type of information that is logged in following ways
1) Standard Log: Creates a standard log of functions and messages sent during script execution to
use for debugging. Disable this option for large load testing scenarios or profiles.
2) Extended Log: Creates an extended log, including warnings and other messages. It is
recommended to disable this option for large load testing scenarios or profiles.
Q. 71: What type of Extended log options are available for posting additional information?
Following Extended log options are available:
1) Parameter substitution: This option is selected to log all parameters assigned to the script along
with their values.
2) Data returned by server: This option is selected to log all of the data returned by the server.
3) Advanced trace: This option is selected to log all of the functions and messages sent by the Vuser
during the session. This option is useful while debugging a Vuser script.
<<<<<< =================== >>>>>>
Q. 72: What is a Message Class?
Message Class is the degree to which VuGen logs various events likeStandard, Parameter
substitution etc.
There are five types of Message Classes:
1) Brief 2) Extended 3) Parameters 4) Result Data 5) Full Trace.
A Message Class can be manually set within our script with the help of lr_set_debug_message
function. This is useful when we want to receive debug information about a small section of the
script.
<<<<<< =================== >>>>>>
Q. 73: What options are available for setting the Think Time in our Scripts?
Vuser think time emulates the time that a real user waits between actions. By default, when a Vuser
script is run, the Vuser uses the think time values that were recorded into the script during the
recording session.
VuGen allows us to use following options:
1) Use the recorded think time
2) Ignore the recorded think time
3) Use a value related to the recorded time
<<<<<< =================== >>>>>>
Q. 74: What type of Miscellaneous run-time options are available for a Vuser script?
Following Miscellaneous run-time options are available for a Vuser script:
1) Error Handling Settings: Following three types of settings are available under this category
a) Continue on Error: This setting instructs Vusers to continue script execution when an error occurs.
This option is turned off by default, indicating that the Vuser will exit if an error occurs.
b) Fail open transactions on lr_error_message: This option instructs VuGen to mark all transactions
in which an lr_error_message function was issued, as Failed. The lr_error_message function is issued
through a programmed If
statement, when a certain condition is met.
c) Generate Snapshot on Error: This option generates a snapshot when an error occurs. We can see
the snapshot by viewing the Vuser Log and doubleclicking on the line at which the error occurred.
2) Multithreading Settings: Vusers support multithread environments. The primary advantage of a
multithread environment is the ability to run more Vusers per load generator.
3) Automatic Transactions Settings: We can instruct LoadRunner to handle every step or action in a
Vuser script as a transaction. This is called using automatic transactions. LoadRunner assigns the step
or action name as the name of the transaction. By default, automatic transactions per action are
enabled.
<<<<<< =================== >>>>>>
Q. 75: How can we do the speed simulation for the Network while working on Loadrunner?
With the help of Speed Simulation settings, we can select a bandwidth which best suits the
environment under test.
Three options are available to us for speed simulation of network:
1) Use maximum bandwidth: By default, bandwidth emulation is disabled and the Vusers run at the
maximum bandwidth that is available over the network.
2) Use bandwidth: Indicate a specific bandwidth level for our Vuser to emulate. We can select a
speed ranging from 14.4 to 512 Kbps, emulating analog modems, ISDN, or DSL.
3) Use custom bandwidth: Indicate a bandwidth limit for your Vuser to emulate. Specify the
bandwidth in bits, where 1 Kilobit=1024 bits.
<<<<<< =================== >>>>>>
Q. 76: What are Breakpoints?
Breakpoints pause the execution at specific points in the script. Breakpoints enable us to examine
the effects of the script on our application at pre-determined points during execution.
All breakpoints in our script can be viewed and manipulated by using the Breakpoint Manager of
VuGen.
<<<<<< =================== >>>>>>
Q. 77: What tools are available in VuGen for debugging the Web Vuser Scripts?
VuGen provides following two tools to help us debug our Web Vuser scripts
1) Run-time viewer: It shows each Web page as it is accessed by the Vuser. This is useful when we
debug Web Vuser scripts because it allows us to check that the Vuser accesses the correct Web
pages.
2) Results Summary report: It summarizes the success or failure of each step in the Web Vuser
scripts and allows us to view the Web page returned by each step.
<<<<<< =================== >>>>>>
Q. 78: How can we run a Vuser Script from a Command Prompt?
We can test a Vuser script from a Command Prompt or from the Windows Run dialog box without
the VuGen user interface by following method.
1) Select Start > Programs > Command Prompt to open a Command Prompt window, or select Start >
Run to open the Run dialog box.
2) Type /bin/mdrv.exe -usr -vugen_win 0 and press enter
Here script_name is the full path to the .usr script file, for example, c:\temp\mytest\mytest.usr.
And the mdrv executable runs a single instance of the script without the user interface.
<<<<<< =================== >>>>>>
Q. 79: What information is needed for Integrating Scripts into the Test environment?
After successfully testing the script in standalone mode and confirming its perfect functionality, we
integrate it into the full-fledged environment like: a LoadRunner scenario, Performance Center load
test, or Business Process Monitor profile etc.
Following information is provided while integrating the test:
1) Which is the script that needs to be integrated.
2) Details of Vusers, which will run the script.
3) Details of load generator upon which the script will be executed.
4) Details of scheduling etc.
<<<<<< =================== >>>>>>
Q. 80: How do we create a LoadRunner Scenario?
Generally we create a scenario from the LoadRunner Controller module.
However we can create a basic scenario from VuGen using the current script as well.
Q. 81: How do we manage Vuser Scripts created in VuGen?
VuGen works seamlessly with HP Quality Center, which is a Web-based test management tool. With
Quality Center we can efficiently store and retrieve the Vuser scripts, scenarios and results.
Scripts are stored in a Quality Center project and can be organized into unique groups. When VuGen
is connected to a Quality Center project, we can create new scripts in VuGen and save them directly
to our project.
<<<<<< =================== >>>>>>
Q. 82: How do we manage Scripts with HP Performance Center?
VuGen provides integration with HP - Performance Center, which is a Web-enabled global load
testing tool providing facility to test our system from different geographical locations.
Through the user interface of VuGen we can upload and download scripts to and from Performance
Center . The scripts are uploaded to the Performance Center to add them to the Vuser Scripts list
and for use later our test. The scripts can be downloaded for editing and saving them locally.
VuGen can access a Performance Center project, after a connection is established with the Web
server on which Performance Center is installed.
<<<<<< =================== >>>>>>
Q. 83: How can we create Vuser script through programming?
We can create a Vuser script through programming within the Visual C and Visual Basic
environments. We can develop our Vuser script within our development application, while importing
the Vuser API libraries.
We can program a Vuser script from within the VuGen editor while incorporating all our libraries or
classes of the application.
We use a VuGen template for creating a Vuser script through programming, which forms the basis
for a larger Vuser script.
<<<<<< =================== >>>>>>
Q. 84: How do we create XML script using VuGen?
VuGen allows us to dynamically work with XML code and retrieve the values during test execution.

Steps for creating XML script are:
1) Record a script in the desired protocol, usually Web, Web Services, or Wireless.
2) Copy the XML structures into the script.
3) Add XML functions from the LR API in order to retrieve dynamic data and the XML element values.
<<<<<< =================== >>>>>>
Q. 85: How many functions are available in VuGen for writing values to an XML tree?
We can write values to an XML tree using following five functions:
1) lr_xml_delete : For deleting fragments from an XML string.
2) lr_xml_insert : For inserting a new XML fragment into an XML string.
3) lr_xml_replace : For replacing fragments of an XML string.
4) lr_xml_set_values : For setting the values of XML elements found by a query.
5) lr_xml_transform : For applying Extensible Stylesheet Language (XSL) transformation to XML data.
<<<<<< =================== >>>>>>
Q. 86: How can we use VuGen as a General Debugging tool?
VuGen can be used as a regular text editor. We can open any text file in it and edit it.
When an error message comes up during replay in the output window, we can double click on it and
VuGen jumps the cursor to the line of the test that caused the problem.
We can place the cursor on the error code and press F1 to view the online help explanation for the
error code.
<<<<<< =================== >>>>>>
Q. 87: Why a data driven two tier database script fails, while it works fine with the same values in
the application?
The failure can be due to presence of trailing spaces in our data values.
Even though we type the data values directly into the GUI, there is a probability of data getting
truncated. Hence we should manually eliminate the trailing spaces from the data file. Tab -delimited
files can hide trailing spaces and can cause problems. Hence comma-delimited files are the most
recommended ones. However It is suggested to view the files in Excel to confirm their correctness
before hand.
<<<<<< =================== >>>>>>
Q. 88: How can we create Vuser scripts for running on UNIX platforms?
We can create Vuser scripts which can run on UNIX platforms by following two methods:
1) By using VuGen: We record our application in a Windows environment and run it in UNIX, because
recording is not supported on UNIX.
2) By Programming: Scripts can be programmed in C or C++ and they must be compiled into a
dynamic library. To create a script through programming, we can use a Vuser template as a basis for
a larger Vuser scrips.

<<<<<< =================== >>>>>>
Q. 89: How do we use VuGen to create test scripts for testing SOA environment?
We can use a test generation wizard in VuGen to automatically generate scripts, or create the scripts
manually.
To automatically generate test scripts, we use the SOA Test Generator. A wizard guides us through
the process of selecting testing aspects such as interoperability with different toolkits, boundary
testing, and standard compliance.
<<<<<< =================== >>>>>>
Q. 90: What type of manual scripts can be created by using VuGen under SOA environment?
For manual scripts, we use VuGen to create following types of scripts.
1) Single Protocol Script: A script that emulates SOAP traffic by sending SOAP requests to the Web
service.
2) Multi Protocol Script: A script that emulates several protocols in a single script. For example, if our
environment contains a client accessing Web Services and Web pages, choose both the Web
Services and Web protocols.
Q. 91: What are the steps for creating a Web Services / SOA Vuser script?
Step -1: Creating a new Web Services script: using the SOA Test Generator, or manually create a new
single or multiple protocol script, or a Business Process Testing component.
Step -2: Adding content to the script
Step -3: Setting properties, values, and checkpoints: we can enhance the script by customizing the
step properties, inserting argument values, and setting checkpoints.
Step -4: parameterizing the script: Parameterization allows us to replace constant values with a
variable to substitute new values for each iteration. To parameterize a value, doubleclick on a step
to open its properties and click the ABC icon adjacent to the value box.
Step -5: Configuring the Run -Time settings: The Run -Time settings control the script's behavior
during execution. These settings include Web Service-specific settings and General settings like run
logic, pacing, logging, and think time.
Step -6: Verifying that the script is functional: Replay the script in VuGen to verify that it runs
correctly.
Step -7: Saving the script: Save the script in the file system or in a Quality Center repository. If we
save the scripts in Quality Center, we can associate them to a test set and perform functional and
regression testing directly from Quality Center.
<<<<<< =================== >>>>>>
Q. 92: How do we compare the WSDL Files?
When we import a WSDL file, VuGen makes a working copy and saves it along with the script. This
saves resources and enables a more scalable and stable environment.
It is possible, however, that by the time we run the script, the original WSDL file will have changed. If
we run the script, the test results may be inaccurate and the script may no longer be functional.
Therefore, before replaying a Web Services script that was created at an earlier date, we should run
a comparison test on the WSDL file.
VuGen provides a comparison tool, which compares the local working copy of the WSDL file with the
original file on the file system or Web server. If the differences are significant, we can update the
WSDL from the original copy using the Synchronize option in the Service Management dialog box.
VuGen provides a general utility, which allows us to compare any two XML files.
<<<<<< =================== >>>>>>
Q. 93: How VuGen displays the differences between two XML files in a Comparison report?
The Comparison report uses the following legend to mark the differences between the two XML
files:
1) Yellow: Indicates changes to an existing element and is shown in both versions.
2) Green: Indicates a new element added and is shown in the original file copy.
3) Pink: Indicates a deleted element.
<<<<<< =================== >>>>>>
Q. 94: What are the ways of testing our system after creating the script?
Our completed script can be used to test our system in following ways:
1) Functional Testing: Run the script to see if our Web services are functional. We can also check to
see if the Web service generated the expected values.
2) Load Testing: Integrate the script into a LoadRunner Controller scenario to test its performance
under load.
3) Production Testing: Check your Web service's performance over time through a Business Process
Monitor profile.
<<<<<< =================== >>>>>>
Q. 95: What is the Service Test Management utility?
Service Test Management is an add-on utility for HP- Quality Center. This helps us to manage SOA
testing by permitting import, storage and defining various services in Quality Center.
The Service Test Management integration allows us to do the following:
1) Store Web Services: Allows us to store and organize Web Services in Quality Center for use within
Service Test.
2) Write Service Test scripts: Allows us to create scripts based on the services stored in Quality
Center, while maintaining up-to-date WSDLs throughout the life-cycle of the service and the script.
3) Compose a Business Process Test: Allows us to create a BPT (Business Process Test) in Quality
Center based on services defined through Service Test Management.
<<<<<< =================== >>>>>>
Q. 96: What are the benefits of Service Test Management utility towards quality improvement in an
organization?
With the help of Service Test Management add-on for Quality Center, the organizations can draw
following benefits in terms of improved quality processes:
1) Business analysts define application requirements and testing objectives.
2) Test managers and project leads design test plans and develop test cases.
3) Test managers automatically create QA testing requirements and test assets for SOA services and
environments.
4) Test automation engineers create automated scripts and store them in the repository.
5) QA testers run manual and automated tests, report execution results, and enter defects.
6) Developers review and fix defects logged into the database.
7) Project managers can export test and resource data in various reports, or in native Microsoft Excel
for analysis.
8) Product managers decide whether an application is ready to be released.
9) QA analysts can auto-generate test asset documentation in Microsoft Word format.
<<<<<< =================== >>>>>>
Q. 97: What is the use of Analyze Traffic feature of VuGen?
The Analyze Traffic feature of VuGen examines a capture file containing the server network traffic,
and creates a script which emulates requests sent to or from the server. Such a script is created after
analyzing the server traffic.
<<<<<< =================== >>>>>>
Q. 98: How many types of network traffic emulations are there?
There are two types of emulations:
1) Incoming traffic emulation: Incoming traffic scripts emulate situations in which we want to send
requests to the server, but we do not have access to the client application, may be due to security
constraints. The most accurate solution in this case is to generate a script from the traffic going into
the server, from the side of the client.
2) Outgoing traffic emulation: Outgoing Traffic scripts emulate the server acting as a client for
another server. In an application server that contains several internal servers, we may want to
emulate communication between server machines, say between Server A and Server B. The solution
in this case is to generate a script from the traffic sent as output from a particular server.
<<<<<< =================== >>>>>>
Q. 99: What is a Capture File?
A capture file is a trace file containing a log of all TCP traffic over the network.
Using a sniffer application, we obtain a dump of all of the network traffic. The sniffer captures all of
the events on the network and saves them to a capture file.
We can generate a capture file using the command line utility or any other capture tool.
<<<<<< =================== >>>>>>
Q. 100: What is the use of Web Service Call View?
Web Service Call view is used to display snapshots, set properties, and add checkpoints to Web
Service calls. These are applicable for Web Services and SOA Vuser scripts only.
To open the Web Service Call view, we need to open the Tree view from the VuGen window.
Discover the Power of LoadRunner for Performance Testing
Prior to understanding the LoadRunner as a performance-testing tool, let us understand a few basics
of the Performance Testing as such. Performance Testing is the process of testing and fine tuning the
software application in line with the intent of realizing the desired performance.

Performance Testing is a part of Performance Engineering Domain. It covers commonly referred
term load or spike or stress testing and validating the system performance.

Usually there are Three main Categories of Performance like:
Speed
- Is an indicator as to whether the application responds quickly enough when handled by desired
number of users
Scalability
- Is an indicator as to whether the application is capable to handle the load of expected number of
users and can go beyond as well or not.
Stability
- Is an indicator as to whether the application is stable enough under the expected and unexpected
users load.

Should we automate the Process of Performance Testing?

A scientifically designed Performance Test Process answers following issues:
Does the application responds quickly enough when handled by desired number of users.
Whether the application capable to handle the load of expected number of users and can go
beyond.
Whether the application capable to handle the number of transactions required by the business.
Whether the application Is stable under expected and unexpected user loads.

By automating the performance testing we can quantify the impact of a change in business terms.
This helps in understanding the likely risks of deployment. An effective automated performance
testing process helps in making more informed release decisions, and prevents system downtime
and availability problems.
Various Elements of LoadRunner are as under:
Virtual User Generator captures the end-user business processes and creates an automated
performance testing script which is known as a virtual user script.
Controller organizes, drives, manages and monitors the load test.
Load Generators creates load by running various virtual users.
The Analysis helps in viewing, dissecting and comparing the performance results.
Launcher provides a single point access to all components of the LoadRunner.


Key Terminology of LoadRunner:

Scenario is a file which defines the events taking place during every testing session, based on the
performance requirements.

In a typical scenario, the LoadRunner simulates human users with virtual users which are called
Vusers. Vusers emulate the actions of human users working with the application. A scenario is a
large repository, which can contain tens, hundreds, or even thousands of Vusers.

The actions which a Vuser performs during the scenario are described in the Vuser script. We need
to define transactions to measure the performance of the server. A transaction represents the end-
user business processes which are desired to be measured.

Process of Load Testing: Load testing typically consists of following five phases:

1) Planning of Load Test: Involves defining the Performance Testing requirements Like How many
number of concurrent users will be deployed, What shall be the typical business processes and what
should be the desired response times for the application.

2) Creation of Vuser Scripts: Involves capturing various activities of the end-user into the automated
scripts.

3) Defining a Scenario: Involves the use of LoadRunner Controller to set up the load test
environment.

4) Running a Scenario: Involves driving, managing and monitoring the load test from the LoadRunner
Controller.

5) Analyzing the Results: involves using the LoadRunner Analysis feature to create various graphs
and reports and evaluate the performance.
Understanding the Load Testing process in LoadRunner
Load Testing in LoadRunner primarily goes by the following steps:
Step 1: Planning the test: Involves development of a clearly defined test plan to ensure that the
newly developed test scenarios are able to accomplish the load-testing objectives.
Step 2: Creation of Vusers: Involves creation of Vuser scripts which contain various tasks performed
by every Vuser, tasks performed by Vusers as a whole, and tasks measured as transactions.
Step 3: Creation of the scenarios: A scenario describes the events that occur during a testing session.
It includes a list of machines, scripts, and Vusers that run during the scenario. Scenarios are created
by using LoadRunner Controller. We can create manual scenarios as well as goal-oriented scenarios.
In manual scenarios, we define the number of Vusers, the load generator machines, and percentage
of Vusers to be assigned to each script. For web tests, we may create a goal-oriented scenario where
we define the goal that our test has to achieve. LoadRunner automatically builds a scenario for us.
Step 4: Running the scenario: The load on the server is emulated by instructing multiple Vusers to
perform the tasks simultaneously. Before the testing, we set the scenario configuration and
scheduling. We can run the entire scenario, Vuser groups, or individual Vusers.
Step 5: Monitoring the scenario: Scenario execution is monitored using the LoadRunner online
runtime, transaction, system resource, Web resource, Web server resource, Web application server
resource, database server resource, network delay, streaming media resource, firewall server
resource, ERP server resource, and Java performance monitors.
Step 6: Analyzing test results: During scenario execution, LoadRunner records the performance of
the application under different loads. We use LoadRunner's graphs and reports to analyze the
application's performance.
Understand the Performance Validation Tool - HP LoadRunner
Why do the organizations need a tool like LoadRunner:
When a
multi-user enterprise application is being deployed, no organization can think of taking risk of failure
or inefficient performance thereby affecting the enterprise wide efficiency on one hand and
damaging its reputation on the other.

LoadRunner is a well-known performance verification & validation tool designed for making accurate
predictions of the actual performance and behavior of the application, thereby increasing our
confidence in the reliability of the new system before it gets actually deployed.


LoadRunner is a performance validation tool especially created to readily provide answer to
questions like:

1) Whether my application is able to handle the expected user load and more?

2) Whether my application is able to handle the number of transactions required by the business?


3) Whether my application is amply stable under expected and unexpected user loads?


Modus operandi
of LoadRunner:
In real world scenario, it is not possible to create situation involving say one thousand users using a
system simultaneously so as to test the behavior of the system under such stressful conditions.
LoadRunner can create such a situation.

LoadRunner artificially simulates several thousand users (which are called Virtual Users). These
artificial / digitally created users are simultaneously forced to operate on the same task, thereby
loading the system in a way it is expected to be loaded by real human users in actual practice.

With LoadRunner we can simulate situation with hundreds or thousands of artificial users & we can
impose definite, consistent and repeatable loads on the system thereby stressing it from end-to-end.
This way we can emulate several business processes & production conditions, which a deployed
application is going to encounter.


Major components of LoadRunner:

Load Runner has following three major components for building and running the tests.

1) Virtual user generator (VuGen): For capturing the end-user business processes into automated
scripts.
2) Controller: For organizing, driving, managing and monitoring the load.
3) Analysis: The analysis engine for viewing, analyzing / interpreting and comparing the results.
Key Benefits of LoadRunner:

1) Increase in confidence level related to performance of the new system.
2) Decreased risk of failure of the new Multi-user system under heavy loads.
3) Provides an absolutely clear view of end-to-end performance of the system before it goes live.
4) Verifies & confirms that the new application meets all the specified requirements related to
performance.
5) Verifies & reduces problems during the product development lifecycle.

6) Greatly simplified process of script making at the user-interface level due to the use of Visual
Scripting Language and ActiveScreen technology.

7) Ease of analysis due to AutoCorrelation wizard which automatically digests all the monitoring and
diagnostics data and calculates the top five causes of performance degradation.

8) Easily integrates with latest J2EE, Microsoft Visual Studio and Microsoft .NET environments.

9) Helpful in precisely predicting the scalability and capacity of application; thereby optimizing the
investments in hardware.

10) Higher scalability with limited hardware due to low requirement of CPU and memory resources
per virtual user.

11) Helpful in precisely pointing out user level, code-level and system-level problems easily &
quickly.

12) Helpful in minimizing the cost of defect removal due to thorough testing of the application well
in advance during the development life cycle.

13) Helpful in creating an efficient service-level management well before the services go live.

14) Helpful in involving the developers in the performance testing efforts right from the beginning
due to ease of use of LoadRunner scripts directly within the IDE.

15) Helpful in real-time performance monitoring of all the system components.

16) New feature Service-oriented architecture (SOA) Script Generator wizard helps in selecting
testing aspects of SOA environments and creating scripts accordingly. Helpful in boundary testing,
interoperability and security-related testing.

17) New feature of XML (Extensible Markup Language) parameter support, having a facility of
replacing the complete XML structure with a single parameter.

Mastering HP LoadRunner through Question Answer Training Series
Every professional in the Software Testing & Quality Assurance domain is certainly aware of HP's
LoadRunner.

LoadRunner is a well-known next generation performance verification & validation tool brought by
HP. This is a unique tool through which we can simulate situation with hundreds or thousands of
artificial users & can impose definite, consistent and repeatable loads on the system thereby
stressing it from end-to-end.

LoadRunner is designed to accurately predict the actual performance and behavior of the
application, thereby increasing our confidence in the reliability of the new system before it gets
actually deployed.

A beginning has been made to bring out a self-learning / Training series wherein the aspirants can
Learn & Master LoadRunner through High Quality Question Answers. Having a mastery over these
Question Answers on LoadRunner, one can be confident on this vast topic, while facing interviews as
well, in any leading MNC.

Few of such Question & Answers are presented below:






Q. 1: What is the purpose of using HP - LoadRunner?

In real world scenario, it is not possible to create situation involving say one thousand users using a
system simultaneously so as to test the behavior of the system under such stressful conditions.
LoadRunner can create such a situation.

LoadRunner artificially simulates several thousand users - which are called Virtual Users. These
artificial / digitally created users are simultaneously forced to operate on the same task, thereby
loading the system in a way it is expected to be loaded by real human users in actual practice.

With LoadRunner we can simulate situation with hundreds or thousands of artificial users & we can
impose definite, consistent and repeatable loads on the system thereby stressing it from end-to-end.
This way we can emulate several business processes & production conditions, which a deployed
application is going to encounter.

LoadRunner accurately measures, monitors, and analyzes a system's performance and functionality.

<<<<<< =================== >>>>>>


Q. 2: What are the essential capabilities we look in a typical application performance-testing Tool?

Essential capabilities of an application performance testing tool are that:

1) It must be able to test a system which combines many software applications and hardware
platforms.

2) It must be able to determine the suitability of a server for any given application.

3) It must be able to test the server before the necessary client software has been developed.

4) It must be able to emulate an environment where multiple clients interact with a single server
application.

5) It must be able to test an application under the load of tens, hundreds, or even thousands of
potential users.

<<<<<< =================== >>>>>>


Q. 3: What are the drawbacks of manual load testing processes?

Load testing of a complete system can be done manually by building an environment where many
users work simultaneously on the system. Each user is made to work on his standalone machine and
every individual submits input to the system. However due to complexity of such a system, following
drawbacks are there

1) Manual testing methods offer only a partial solution to the load testing.

2) Manual testing is expensive & requires large amounts of manpower & equipment.

3) Manual testing is complicated, especially while coordinating and synchronizing multiple testers.

4) Manual testing involves a high degree of organization, especially to record and analyze results
meaningfully.

5)The repeatability of the manual tests is limited

High Quality Interview Questions on HP LoadRunner popular with MNC's for their recruitment

very professional in the Software Testing & Quality Assurance domain is certainly aware of HP's
LoadRunner.

LoadRunner is a well-known next generation performance verification & validation tool brought by
HP. This is a unique tool through which we can simulate situation with hundreds or thousands of
artificial users & can impose definite, consistent and repeatable loads on the system thereby
stressing it from end-to-end.
LoadRunner is designed to accurately predict the actual performance and behavior of the
application, thereby increasing our confidence in the reliability of the new system before it gets
actually deployed.
A beginning has been made to bring out High Quality Objective Type Questions on HP LoadRunner.
With this one can prepare for the HP certification exam HP0-M18 and can confidently face
interviews as well, in any leading MNC.

Few of such Questions are presented below. Correct answers are highlighted in Yellow:
Q. 1: What is the LoadRunner term that describes the time a user pauses between steps?

A. Pacing
B. User Delay
C. Think time
D. Navigation time
<<<<<< =================== >>>>>>
Q. 2: What is the first stage of load testing process?

A. Plan the load test
B. Create the scenario
C. Execute the scenario
D. Create VuGen scripts
<<<<<< =================== >>>>>>
Q. 3: When analyzing a technical aspect of a system under test, which group is a helpful source of
information?

A. End users
B. Functional experts
C. Application experts
D. Corporate executives
<<<<<< =================== >>>>>>
Q. 4: Which file type has an extension .lrr?
A. Script
B. Results

C. Analysis
D. Scenario
<<<<<< =================== >>>>>>
Q. 5: You are a LoadRunner expert consultant and have been assigned to a client that needs to
performance test an application that has not yet been released. How can you obtain information
about the application anticipated load?

A. Estimate how the application will be used
B. Obtain the necessary information from web logs
C. Look in the application's database to determine the anticipated load
D. Consult with the business experts to determine the anticipated load