Tuesday, 27 March 2012

Monday, 26 March 2012

Download Loadrunner 11.0 Software


I am getting lot of request like where to download loadrunner evaluation version of software.

Download loadrunner software from below link:

  • Goto below link to Download loadrunner 11.0 software:

  • once you open the above link, goto Trial and Demos and Select HP Loadrunner11.0
Loadrunner software download

  • To download you need be an registered user and have HP Passport user account.  
    • I recomend you to create your own HP Passport login, if you are busy :-), use the one which i already created 
      • user name: iloveloadrunner
      • Password : keylabs123 (This password has been changed due to larger number of downloads are there with this id, Please register with your name)
  • Agree to HP Software evalvation terms - Click on Agree

Download Loadrunner Software
Loadrunner Software

  • Click on Software HP Loadrunner to download HP Loadrunner software. see the below image and marked in red.
Loadrunner patches download
Loadrunner Software

It willbe there around 2 GB, extract it to download and install it. I recomend you to install only Vugen and Analysis. As controller license will expire in 10 days, it is not necessary to install in your desktop. If you want to install loadrunner for your Training or learning, you can install controller whenever required.

If you have any questions, Please reach out bindu@keylabstraining.com

I love loadrunner Team

Saturday, 24 March 2012

Loadrunner message functions

Let us discuss about below message functions in VuGen:

lr_output_message:  Loadrunner output message functions sends output to replay log along with line number.

lr_log_message:  Loadrunner log message functions sends output to replay log but it will not display any line number.

lr_error_message: This is similar like output message but it will send error to output window and log file along with line number.

Saturday, 17 March 2012

Loadrunner correlation

Correlation overview:
  • Correlation is the way handling dynamic values in client server communication.
  • The values captured will be send back to server in later steps in the script.
  • Correlation is typically used for handling session id's
Correlation Techniques:

Manual correlation
Automatic correlation.

Pictorial view of how correlation works:

  • Below is the snapshot of recording and replaying with out applying:

  • Below is the snapshot of recording and replaying after implementing correlation.

Steps for Manual correlation :

  1. Record two identical scripts with the same business process
  2. Compare the scripts to identify the dynamic value
  3. Search for the dynamic values in the Generation log and Copy Left boundary (LB) and Right boundary (RB)
  4. Replay the script with extended log and look for those boundaries in replay log
  5. Double click in the replay log where boundaries are found and it will take the cursor to the point where dynamic value is generating in the recorded script.
  6. Insert web_reg_save_param("Param name", "LB=" , "RB=", LAST) ; where the cursor is pointing
  7. Replace the dynamic values with Param name

Action files in Loadrunner

The requests which agents on host machines issue to application servers are specified by a playback of actions created by the Vuser User Generator (VuGen.exe).
LoadRunner creates new scripts with three sections:
vuser_init: Most of the initiation operations are done with vuser_init action. We need to execute login only once if we are simulating shift duration. Here login related operations needs to be recorded. Since the bank executives login only once in their shift. 
Action: All other bank executive repeated operations needs to be captured. And the login and logout operations should not be captured into action.
vuser_end: Most of the closure operations are done with vuser_end action. Here logout related operations needs to be recorded. Since the bank executives logout only once after his / her shift.


Transaction points

1. What is Transaction Response Time?
Transaction Response Time represents the time taken for the application to complete a defined transaction or business process.
2. Why is important to measure Transaction Response Time?
The objective of a performance test is to ensure that the application is working perfectly under load. However, the definition of “perfectly” under load may vary with different systems.
By defining an initial acceptable response time, we can benchmark the application if it is performing as anticipated.
The importance of Transaction Response Time is that it gives the project team/ application team an idea of how the application is performing in the measurement of time. With this information, they can relate to the users/customers on the expected time when processing request or understanding how their application performed.
3. What does Transaction Response Time encompass?
The Transaction Response Time encompasses the time taken for the request made to the web server, there after being process by the Web Server and sent to the Application Server, which in most instances will make a request to the Database Server. All this will then be repeated again backward from the Database Server, Application Server, Web Server and back to the user. Take note that the time taken for the request or data in the network transmission is also factored in.
To simplify, the Transaction Response Time comprises of the following:
1. Processing time on Web Server
2. Processing time on Application Server
3. Processing time on Database Server
4. Network latency between the servers, and the client.
4. What are the functions used to calculate the Transaction Response Time?
lr_start_transaction(“Variable Name”);
lr_end_transaction(“Variable Name”, LR_AUTO);

lr_end_transaction(“Variable Name”, LR_PASS);
lr_end_transaction(“Variable Name”, LR_FAIL);
lr_start_transaction(“Variable Name”);
step1 (http request)
lr_end_transaction(“Variable Name”, LR_AUTO);

5. How do you add transactions in loadrunner vugen? 

Transactions in VuGen can be added four ways:

1) During recording, click on add start transactions and end transactions
2) After recording from Enhancements section of Tasks (By inserting functions manually after recording the script).
3) After recording from Tree view
4) After recording from script view
Key points about transaction in loadrunner

  • Transactions points help measure performance of your system under test.
  • You can have any number of transactions in your script
  • A transaction can have sub-transactions

VuGen Runtime settings

Below is the observation on Run time settings:

Think Time: Time delay between the user actions (Transactions)
Pacing: Time delay between the Iterations
Run Logic: number of iterations, This setting is applicable for both controller and Vugen.
Eg: Vugen: 1 user, 1 iteration, 2 or 3 Iteration
In Controller : Running hourly based Test,
  • Duration - 60 - Run logic iteration count will not be considered
  • Run until completion - Run logic iterations will be considered
  • Vugen : Vuser menu -> Run time settings - Run logic
  • Controller : Select the script(group) - Right click - Open Run time settings
  • Controller Run time settings will take priority over Vugen Run time settings

Log:   Vugen: Extended log enable to debug the scripts.
In Controller : Disable log while running big load test or select Send messages only error occurs
MiscellaneousAutomatic Transactions:
  • Define each Action as Transaction ( Default Action files: vuser_init, Action, Vuser_end) - Disable this option because we do not response time for action blocks, we are more intrested each user action/transaction response time
  • Define each step as a Transactions - Disable this also because it will provide each and every step(Get request or Post request) response time, rather than measuring response time each and every indivdual steps response time, it is recomednded to keep manual transaction points lr_start_transaction and lr_end_transaction

More information about run time settings:
1) If you run each Vuser as a thread, the Controller launches only one instance of the driver program (such as mdrv.exe), for every 50 Vusers (by default). This driver process/program launches several Vusers, each Vuser running as a thread. These threaded Vusers share segments of the memory of the parent driver process. This eliminates the need for multiple re-loading of the driver program/process saves much memory space, thereby enabling more Vusers to be run on a single load generator.
2) The main advantage of a multi thread environment is the ability to run more Vusers per load generator.
3) Only thread safe protocols should be run as threads.
1) If you run each Vuser as a process, then the same driver program is launched (and loaded) into the memory again and again for every instance of the Vuser. Loading the same driver program into memory uses up large amounts of RAM (random access memory) and other system resources. This limits the numbers of Vusers that can be run on any load generator.
2) The protocols Sybase-Ctlib, Sybase-Dblib, Informix, Tuxedo, and PeopleSoft-Tuxedo are not thread safe, so need to run as process

Friday, 2 March 2012

Performance memory counters

Performance memory counters
Page Faults/sec
Shows the average number of pages faulted per second, which is equal to the number of page fault operations because only one page is faulted in each fault operation. This counter includes both hard faults (those that require disk access) and soft faults (where the faulted page is found elsewhere in physical memory). Most processors can handle large numbers of soft faults without significant consequence. However, hard faults can cause delays because they require disk access..
Page Reads/sec
Shows the rate, in incidents per second, at which the disk was read to resolve hard page faults. This counter shows numbers of read operations, without regard to the number of pages retrieved in each operation. Hard page faults occur when a process references a page in virtual memory that must be retrieved from disk because it is not in its working set or elsewhere in physical memory. This counter is a primary indicator for the kinds of faults that cause system-wide delays. It includes read operations to satisfy faults in the file system cache (usually requested by applications) and in noncached mapped memory files. Compare the value of Page Reads/sec to the value of Pages Input/sec to find an average of how many pages were read during each read operation.
Page Writes/sec
Shows the rate, in incidents per second, at which pages were written to disk to free up space in physical memory. Pages are written to disk only if they are changed while in physical memory, so they are likely to hold data, not code. This counter shows write operations, without regard to the number of pages written in each operation.
Pages Input/sec
Shows the rate, in incidents per second, at which pages were read from disk to resolve hard page faults. Hard page faults occur when a process refers to a page in virtual memory that must be retrieved from disk because it is not in its working set or elsewhere in physical memory. When a page is faulted, the system tries to read multiple contiguous pages into memory to maximize the benefit of the read operation. Compare Pages Input/sec to Page Reads/sec to find the average number of pages read into memory during each read operation
Pages Output/sec
Shows the rate, in incidents per second, at which pages were written to disk to free up space in physical memory. A high rate of pages output might indicate a memory shortage. The Windows Server 2003 family writes more pages back to disk to free up space when physical memory is in short supply. This counter shows numbers of pages, and can be compared to other counts of pages without conversion.
Shows the rate, in incidents per second, at which pages were read from or written to disk to resolve hard page faults. This counter is a primary indicator for the kinds of faults that cause system-wide delays. It is the sum of Pages Input/sec and Pages Output/sec. It is counted in numbers of pages, so it can be directly compared to other counts of pages such as Page Faults/sec. It includes pages retrieved to satisfy faults in the file system cache (usually requested by applications) and noncached mapped memory files.


Riverwoods Taxi - Cab in Riverwoods IL

Taxi and Cab providers in Riverwoods IL, Chicago:

Riverwoods Taxi service providers for Transportation to O'hare Airport, Chicago Midway, downtown Chicago and as local Taxi cab Service in Riverwoods, IL. 
Riverwoods Taxi services companies that offer lowest flat rate Taxi cab service among all the Riverwoods cab companies. For Transportation to O'hare Airport, Chicago Midway, downtown Chicago and as local Taxi cab Service in Riverwoods. 
·         303 Taxi cab service  Riverwoods : 847-303-0303
·         Alpha Taxi and Limo Service Riverwoods: 847-358-6666
·         American Taxi Riverwoods : 847-673-1000 
·         All Star Cab Riverwoods: 847-658-1555

What is Riverwoods, IL :

Riverwoods Taxi - Riverwoods is a village in Lake County, Illinois, United States. It was established on the banks of the Des Plaines River in 1949 by local steel magnate Edward L. Ryerson. The population was 3,660 at the 2010 census. The corporate headquarters of Discover Financial and CCH are located there, as well as Orphans of the Storm, an animal shelter founded in 1928 by famous dancer Irene Castle. The village hosts the annual "Arts & Riverwoods" festival.

The above taxi providers will provide taxi's and cabs to Airports:

RiverwoodsTaxi to O’Hare Airport
RiverwoodsTaxi to Midway Airport
RiverwoodsTaxi to Chicago Loop                      
Riverwoods cab- Riverwoods taxi-Taxi service in Riverwoods-Cabs in Riverwoods.

Thursday, 1 March 2012

Virtual user generator (VuGen) Recording options

Virtual user generator (VuGen) Recording options

Difference between HTML-mode, URL-mode and GUI-mode recording

When you are starting to record a web application, you should be aware of the HTML-mode and URL-mode recording that a Web (HTTP/HTML) protocol, we will just briefly talk about the differences (in general) and how it applies to your script.

HTML-mode recording is the default and recommended recording mode. It records HTML action in the context of the current Web page (which means everything you see on the web page will be recorded in a single function).

The advantage of this mode is that it generates a script that is intuitive to the reader in terms of what is the form requesting (in a form of entire web page). Readers of the scripts will then be able to recognize each “logical” requests/call made to the server, making amendments to the script easily.

The URL-mode option instructs VuGen to record all requests and resources from the server. It automatically records every HTTP resource as URL steps. This recording mode captures even non-HTML applications such as applets and non-browser applications.

The advantage of this mode is that it generates a script that has all known resources downloaded for your viewing. This works good with non-HTML applications such as applets and non-browser applications (e.g. Win32 executables). But having everything together creates another problem of overwhelming low-level information and making the script unintuitive.

When there are unrecognizable requests made to the server in Web (HTTP/HTML) protocol, they are recorded as web_custom_request. However, in URL-mode, this can be selected to allow recording to default to web_custom_request.

This is introduced with Web (Click & Script) protocol. The GUI-mode option instructs VuGen to record all editable fields in an object or non-browser applications. What it does is to detect the fields that have been edited and generate the scripts accordingly. The concept is similar to functional testing when objects are detected at the GUI-level. When reading the script, it allows easier reading as the script is based on the GUI presented to the real user.

Different modes of recording in LoadRunner

loadrunner vugen scripting
Loadrunner Vugen Scripting

Loadrunner Interview Questions - Part III

Loadrunner Interview Questions - Part III

25. How many types of graphs are available in LoadRunner and what are they?
There are 5 types of graphs:
Network delay time graph – displays the time the elapses between request and response
Two transaction response time graphs – one for load and one for percentile
Hits/second graph – Shows application traffic volume.
Pages download/second graph – shows the rate that download processes are performed

26.. How can performance bottlenecks be identified?
LoadRunner has monitors that can be used to detect performance bottlenecks. These include network, web server, application server, and database server monitors. These monitors can be used to locate trouble spots in scenarios that cause increases response time and they track throughput, network delays, performance response time, hits/sec, etc.

27. How can one tell when correlation can be performed?
There are two ways to do this. One is to use the scan function to search for correlations and select a value from the resulting list. The second is to record a pair of scripts and then compare them to each other.

28. Where are automatic correlation options set?
The automatic correlation is set in recording options area on the correlation tab. From here, correlation can be enabled for the full script and rules for correlation can be defined.   Automatic correlation can be performed on a database by viewing the output window, scanning for correlation, and selecting the value that will be used.

29. Where is the number of iterations set for testing with Vuser scripts?
The number of iterations is set in the VuGen pacing tab in the Run-time settings area.

30. What is ramp up and how can it be set?
Ramp up is gradually increasing the load on a server.  This is simulated by gradually increasing the number of Vusers.  This feature can be found in the Scenario Scheduling Options.  When used, the initial value and the time to wait between periods are specified.

31. What is the benefit of running a Vuser script as a thread?
The advantage of running a Vuser script as a thread is that it allows more Vusers to be used for one load generator. Running Vuser scripts as processes utilizes a lot of memory because all of the loaded scripts use the same driver.  This limits the number of Vuser scripts that can be run on one generator.

32. How do you set LoadRunner to stop script execution when an error occurs?
Execution of Vuser scripts can be stopped on error using LoadRunner’s lr_abort function. The “Continue on error” option must not be checked in the Run-Time Setting menu.  It is helpful when it is necessary to abort execution when a certain error condition occurs. This function instructs the Vuser to stop performing what is in the Actions section, and to begin performing the vuser_end functions.  When execution is terminated, the Vuser status is changed to “Stopped”.

33. How are throughput and response time related?
The graph for throughput displays the quantity of data that the server sent to the Vusers in one second. When throughput is compared to the response time of transaction, it decreased as the response time decreased. In addition to this, the highest throughput and response times occur at approximately the same time.

34. Define think time and explain how you change the threshold for it.
Think time is the interval of time that a user must wait between actions. An example of this is the time that a user takes to review data after receiving it from the server before responding to it.  The threshold is the maximum level at which this time will be ignored.  The default threshold value is five seconds but this can be modified in the VuGen Recording options.

35. Explain the difference between standard and extended log?
The standard log contains a subset of functions and messages, which vary based on the type of Vuser, which are generated during the execution of a script. The extended log creates a more detailed listing of functions and messages.

Loadrunner Interview Questions

Related Posts:

Loadrunner Interview Questions - Part II

Loadrunner Interview Questions - Part II

13. Explain the Load testing process?
Step 1: Planning the test. Here, we develop a clearly defined test plan to ensure the test scenarios we develop will accomplish load-testing objectives.
Step 2: Creating Vusers. Here, we create Vuser scripts that contain tasks performed by each Vuser, tasks performed by Vusers as a whole, and tasks measured as transactions.
Step 3: Creating the scenario. 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. We create scenarios 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.
We emulate load on the server by instructing multiple Vusers to perform 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.
We monitor scenario execution 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.

14. What Component of LoadRunner would you use to record a Script?
The 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.

15. What Component of LoadRunner would you use to play Back the script in multi user mode?
The 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.

16. What is a rendezvous point?
You 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, 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.

17.  What is a scenario?
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.

18. How can a LoadRunner script be debugged?
Breakpoints and the Run Step-by-Step features of VuGen can be used for debugging and this information is written in the output window. There are debug settings in the Options area that allow the user to set the specifics about the trace that is performed during the execution of the scenario.

19. How does one write a user defined function in LoadRunner?
When creating a user-defined function, one must first create the external library that contains the function. This library must then be added to the bin directory of VuGen. Next, the user-defined function can be assigned as a parameter

20. Which function is used to capture dynamic data in the web Vuser script?
Web_reg_save_param is the function that saves dynamic data to a parameter.

21. What are the changes that can be made to run-time settings?
There are four run-time settings that can be made:
Pacing: This contains iteration count.
Log: This is where logging can be set to standard or disabled.
Think Time:  Capable of setting think time to be ignored or replayed.
General:  Allows the setting of Vusers for processes or multithreading.

22. How can web server related issues be found?
Web resource monitors can be used to find server related issues.  These monitors are capable of analyzing web server throughput, volume of hits per second during the execution of the scenario, the number of pages downloaded per second, and the volume of responses per second.

23. How can database related issues be found?
Monitors and the Data Resource Graph can be used to find database related issues. LoadRunner allow the tester to specify the resource that is to be measured before the controller is run.

24. What are the types of options are available for goal-oriented scenarios?
There are five goal options available:
Number of Vusers (concurrent)
Number of transactions/second
Number of hits/second
Number of pages/minute
Transaction response time

Loadrunner Interview Questions

Related Posts:

Loadrunner Interview Questions - Part I

Loadrunner Interview Questions - Part I

1. Why should we automate the performance testing?
It’s a discipline that leverages products, people and processes to reduce the risk of application upgrade or patch deployment. It is about applying production work loads to pre-deployment systems while simultaneously measuring system performance and end-user experience.

2. What are all the things will be considered while doing performance testing?
Does the application respond quickly enough for the intended users?
Will the application handle the expected user load and beyond?
Will the application handle the number of transactions required by the business?
Is the application stable under expected and unexpected user loads?
Are we sure that users will have a positive experience on go-live day?

3. What are the LoadRunner components?
Virtual User Generator
Load Generators

4. What is the LoadRunner testing process?
Plan load test
Create Vuser Scripts
Define Scenario
Run Scenario
Analyze results

5. What is remote command launcher?
The remote command launcher enables the controller to start applications on the host machine

6. How you develop the database vuser script?
Developing the database vuser script either by recording with load runner vuser script generator or by using load runner vuser script template.

7. How you load a load runner Agent?
While running the scenario loadrunner controller instructs the remote agent dispatcher to launch loadrunner agent. The controller instructs the loadrunner agent to initialize, run, pause and stop the vusers.

8. What is the difference between hits/second and requests/second?
Hits per second means the number of hits the server receives in one second from the vuser and the request per second is the no. of request the vuser will request from the server.

9. What are the reasons why parameterization is necessary when load testing the Web server and the database server?
Parameterization is useful for performance scripts for various reasons: -
1. We can use different data in scripts dynamically.
2. When URLs of AUT are parameterized, it becomes easy for the script to point to different application environments, i.e. Dev, QA or Prod depending upon the requirements.
3. Parameterizing helps in emulation real scenario as it avoids caching effect, if we send same data again and again while running scripts in iteration, then the data could be used from cache or from the temporary table from the database. Now if we send different data in each iteration the real performance transaction timers can be measured.

10. What are the advantages of using load runner?
Advantages are:-
1. With help of vusers reduces the human users
2. Reduces the requirement of the systems
3. Helps in the better usage of time and money
4. Effective utilization of automation
5. Everything done from a single point

11. What is the vuser in the scenario?
The vuser is virtual users nothing but those who simulate the real users. The virtual users who take the place of real users operating client software, such as IE sending requests using the HTTP protocol to IIS or Apache web servers

12. What is the difference between stop and gradually stop?
When you want to stop all the Vusers at once, this is called stop the Vusers at once. It is done in the scenario schedule section of the controller window. Suppose you want to stop the Vusers gradually, then you have to set the Vusers stop gradually. It is done in the scenario schedule section panel of controller window in loadrunner.

loadrunner interview questions
Loadrunner Interview Questions

Related Posts