Loadrunner Tutorial, Vugen Scripting, Controller and Analysis. Loadrunner online training Demo on Program will commence on: Friday 10th May, 2013 at 9:30 PM EST(India time saturday morning at 7am). Contact : firstname.lastname@example.org, INDIA +91-9550645679, USA +1-908-366-7933
Monitoring Unix performance from Loadrunner -controller
This can be achived through agent less monitoing, that means we
don’t need to do any agent installation on the server but the machine should
have RSTAT daemon up and running. Controller communicates with port 111 on the
Unix machine and this port is then mapped to the dynamic port on which the
rstatd is working. The controller then queries rstatd and all communication
takes place through this established UDP socket connection.
·It is the way of
replacing a hard coded value in the script with a parameter which represents a
list of values.
·VuGen generates a script that contains the
actual values used during recording and during script enhancement phase test
engineer has to replace the recorded values with parameters is known as
parameterizing the script.
of the main objective of parametrization is to simulate real user
behavior while running the test and we also use this to solve below problem
Date constraints that may occur during playback
1. Eg: When Second Virtual User accessing
user may fail because of the 2/14/99 was yesterday!]
data caching that may occur during playback
1. Eg: When Second Virtual User accessing the
Application, user will get data from
unique constraints that may occur during playback
Eg: Order number 1234 is already here
data dependency that may occur during playback
real user activity
Exercise the server (Some
times when we are searching with same keyword, the request will not go to
database and it will get the data from the webserver cache and it will not
exercise the server. Parameterization will solve this problem)
How to create Parameters:
·Right click on the value and select “Replace with parameter” where we need
to execute with different set of values.
·On the new window opened just give the Parameter name as user defined variable
and Parmeter typeàselect
any one from the drop down and Original Value will be default value and click
·After clicking on properties new window
will be opened then click on Edit with
notepad button and enter some list of values.
Note: After entering values in notepad keep the
cursor in new line and save the notepad and close it.
·After entering the different set of values
we have to customize the parameter properties to execute the script as user’s
Columnà By Number
These values are used when we have multiple
columns in the same table with the same parameter type. We can select for each
parameter by number as column number or by name as column name.
Formatà Column Delimiter
First Data Line
Delimiter drop down has values Comma,Tab,Space which are used to separate
Data Line is a number which it uses that number row data at the time of
execution. For eg: if you increase the number to 2 by using up button then the
execution starts from 2nd row data.
Next Row à Sequential
Value on à Each Iteration
à Each Occurrence
you select Select Next Row as Sequential and Update Value On as Each iteration
then the users will execute the data sequentially for each iteration.
on close button and press CTRL+L buttons then parameter properties window will
open with all parameters in left side and right side parameters data window.
you click on Simulate Parameter button
and then enter the iterations in check box and then click on simulate button
then we will get the user behavior when the time of execution how the
parameters will pass to the vusers.
you select Update value on as Each Occurrence we can not simulate the
you select Update value on as Once then the vuser will take only one set of
data for all vusers. For ex: In the above snapshot we will get jojo and bean
for each and every vuser we execute.
you select Select Next Row as Random and Update value on as Each iteration then
the user will pick random data for each and every iteration. At that we have to
select for one parameter these values and select Same line as that parameter
name for remaining parameters
Ex: If we select RandomàEach iteration for
Username then we have to select Same line as username for password.
you select Select Next Row as Unique and Update value on as Each Iteration or
Each Occurrence then automatically When
Out of Values and Allocate Vuser
values in the controller will be enabled.
Out Of Valuesà Abort Vuser
à Continue in a cyclic manner
Continue with last value
Vuser values in the controller(Radio Buttons)
Automatically allocate block size
Allocate ______ values for each vuser
you have values less than vusers at that time we have to select UniqueàEach
IterationàAbort Vuser then
what ever the users extra are aborted from the execution.
can select UniqueàEach IterationàContinue
in a cyclic manner
can select UniqueàEach IterationàContinue
with last value
we can select any of the two radio buttons for Allocate vuser values in the
controller in the above three different cases
you select Uniqueà Each Occurrence
Allocate ______ values for each vuser
will be enabled for all the three cases
you can click on Simulate Parameter button for each and every different options
customized to view how the vuser behavior.
you select Uniqueà Once all the
vusers will execute with one set of data.
Once parameterization is
done click on close button. Test the data execution procedure in the form of
iterations in VUGen.
1.How many types of Correlation are there? Correlation can be done by 3 ways:
Manual Correlation ( this method is most recommended)
Automatic Correlation (This requires rules need to be created in existing rule engine, this can apply only to popular and frequent dynamic values like viewstates in .Net applications)
2.How you will do the manual Correlation?
Record two identical scripts with the same business process, make sure to use same input data like user names and search strings
Compare the scripts to identify the dynamic value, You can compare them using notepad or keeping side by side or using windiff or any text comparison tools. the mainly you have to look at ITEMDATA section and URL ending part. Once you identified which value is changing every time
Search for the dynamic values in the Generation log and Copy Left boundary (LB) and Right boundary (RB) into notepad
Replay the script with extended log and look for those boundaries in replay log and Double click in the replay log where the boundaries are found and it will take the cursor to the point where dynamic value is generating in the recorded script. This step is to identify from which request this value is generating and this will help us to identify the location to keep web_reg_save_param function.
Insert web_reg_save_param("Param name", "LB=" , "RB=", LAST) ; where the cursor is pointing
Replace the dynamic values with Param name
3.How you will do the parameterization for Date/Time?
Select the parameter type as Date/Time and select the date/time format in the list. If you want u can get the date in the script by using "lr_save_datetime("Tomorrow is %B %d %Y", DATE_NOW + ONE_DAY, "next"); "
4.How many areas you can do the correlation?
Areas of correlation are:
4) Check Boxes
5) List Butoons
6) Radio Buttons
5.What is the function used for to find out the buffer size of file ?
First of all we have to know the application type for this question. If it is web application we dont need to go for buffer size bcoz most of the functions are inbuilt with the buffer element.
If we go for windows sockets application the function is mentioned below: char *lrs_get_static_buffer( char *s_desc, char *buffer, int offset, int length, char *encoding );
6.What is the difference between Hits/secs & Throughput?
Hits Per Second: This graph shows the number of HTTP requests made by Vusers to the Webserver during each second of the load test scenario run. Throughput:This graph shows the amount of throughput on the server during each second of the load test scenario run. Throughput is measured in bytes or megabytes and represents the amount of data that the Vusers received from the server at any given second.
7.How graph will be there between Hits/secs & Throughput? Hits per second is directly propositional to through put If the Hits/secs Increses Throughput should also increase
if the Hits/sec decreases through put should also decrease
8.If suppose we are executing a scenario with 10 vusers and a value is parameterized (Say ex: Sales Id with 10values), how can i know that what is the value of 5th vuser sales id?
The question is having little information to answer, Question should also have which parameter properties this scenario is using. Let us go with some examples. If the setting is sales id picked Sequential and update for each iteration. in the first iteration all the users will use first value, so the answer is 5th iteration. If it is Unique the 5th sales id will the 5th user will take. To find 5th vuser value we have to know first what we have give the parameter properties. If we take sequential-->each iteration then in parameter values 5th value is 5th vuser value and if we take unique also same value and if we take random we have to check in the log file of LRR folder.
9.What is the purpose of the Unique value?
Assigns a unique sequential value to the parameter for each Vuser. Ensure that there is enough data in the table for all Vusers and their iterations. Ifyou have 25 Vusers and you want to perform 4 iterations, your table must contain at least 100 unique values. If you run out of unique values, VuGen behaves according to the option you select in the When run out of values field.
In real life applications, in lot of situations application will not accept duplicate values like order number, registration functionality.
10.In controller, when I am executing the scenario with 10vusers, among 10vusers 1 is failed then how you will find out who is the exact user?
First of all enable the ip spoofing and insert "lr_get_vuser_ip()" then execute the scenario and take the log files saved in result directory(.LRR extension) and find the failed user transaction then we can find vuser ip which is failed.
11.Is there any function in lr to avoid multiple login's if a user already logged in?
There is no function to avoid multiple logins. In case if we have to avoid multiple login based on our application then we have to write our own code in "C" language.
12.In controller I am executing a scenario with 2Vusers and a value is paramerterized ( Say ex: Sales with 10values). So, whether it is possible to assign for each users 5 values? If yes how ?
Go to parameter properties
Selext Next Row:Unique
Update each value on: Each occurence
then automatically radio button " Allocate ________ values for each vuser" will be enabeld