LoadRunner in a Nutshell

150
LoadRunner …in a nutshell

Transcript of LoadRunner in a Nutshell

Page 1: LoadRunner in a Nutshell

LoadRunner

…in a nutshell

Page 2: LoadRunner in a Nutshell

Understand terminologyUnderstand terminology

Page 3: LoadRunner in a Nutshell

Define:Define:ScenarioScenario

Page 4: LoadRunner in a Nutshell

Number of usersNumber of users

Page 5: LoadRunner in a Nutshell

EventsEvents

Page 6: LoadRunner in a Nutshell

Load scalingLoad scaling

Page 7: LoadRunner in a Nutshell

Define:Define:VusersVusers

Page 8: LoadRunner in a Nutshell

is short for…is short for…

Page 9: LoadRunner in a Nutshell

Virtual userVirtual user

Page 10: LoadRunner in a Nutshell

emulate actionsemulate actions

Page 11: LoadRunner in a Nutshell

Defn:Defn: Vuser ScriptsVuser Scripts

Page 12: LoadRunner in a Nutshell

actionsactions

Page 13: LoadRunner in a Nutshell

a collections of actions…a collections of actions…

Page 14: LoadRunner in a Nutshell

business processbusiness process

Page 15: LoadRunner in a Nutshell

can be recorded or…can be recorded or…

Page 16: LoadRunner in a Nutshell

manually generatedmanually generated

Page 17: LoadRunner in a Nutshell

In ANSI CIn ANSI C+ custom LR API+ custom LR API

Page 18: LoadRunner in a Nutshell

Define:Define: Transactions:Transactions:

not what you thinknot what you think

Page 19: LoadRunner in a Nutshell

Standard Definition:Standard Definition:

Page 20: LoadRunner in a Nutshell

Request Request Response Response

Page 21: LoadRunner in a Nutshell

Request Request Response Response

Request Request Response Response

Request Request Response Response

Trxns

Page 22: LoadRunner in a Nutshell

A defined set of actionsA defined set of actions

Page 23: LoadRunner in a Nutshell

You determine transaction startYou determine transaction start

Page 24: LoadRunner in a Nutshell

end of transactionend of transaction

Page 25: LoadRunner in a Nutshell

……Based on your processBased on your process

Page 26: LoadRunner in a Nutshell

Defn:Defn: ControllerController

Page 27: LoadRunner in a Nutshell

controls the scenarioscontrols the scenarios

Page 28: LoadRunner in a Nutshell

provides real-timeprovides real-time monitoringmonitoring

Page 29: LoadRunner in a Nutshell

logginglogging

Page 30: LoadRunner in a Nutshell

Defn:Defn: Load GeneratorLoad Generator::

Page 31: LoadRunner in a Nutshell

executes the scenarioexecutes the scenario

Page 32: LoadRunner in a Nutshell

Define:Define: Performance Analysis Performance Analysis

Page 33: LoadRunner in a Nutshell

view resultsview results

Page 34: LoadRunner in a Nutshell

raw formraw form

Page 35: LoadRunner in a Nutshell

create custom reportscreate custom reports

Page 36: LoadRunner in a Nutshell

make graphs & chartsmake graphs & charts

Page 37: LoadRunner in a Nutshell

Define:Define: Rendezvous Points: Rendezvous Points:

Page 38: LoadRunner in a Nutshell

prepare vusersprepare vusers

Page 39: LoadRunner in a Nutshell

wait for a certain event…wait for a certain event…

Page 40: LoadRunner in a Nutshell

……then load simultaneouslythen load simultaneously

Page 41: LoadRunner in a Nutshell

The Load Runner Suite:The Load Runner Suite:

Page 42: LoadRunner in a Nutshell

5 key components:5 key components:

Page 43: LoadRunner in a Nutshell

1.vGen Editor1.vGen Editor

Page 44: LoadRunner in a Nutshell
Page 45: LoadRunner in a Nutshell

2. Controller2. Controller

Page 46: LoadRunner in a Nutshell
Page 47: LoadRunner in a Nutshell

3. Remote Agent Dispatcher3. Remote Agent Dispatcher

Page 48: LoadRunner in a Nutshell

4. Agent4. Agent

Page 49: LoadRunner in a Nutshell

4. Analyzer4. Analyzer

Page 50: LoadRunner in a Nutshell
Page 51: LoadRunner in a Nutshell

View @ 40,000 Ft.View @ 40,000 Ft.

Page 52: LoadRunner in a Nutshell
Page 53: LoadRunner in a Nutshell

Run & Create a LoadRunnerRun & Create a LoadRunner test… test…

Page 54: LoadRunner in a Nutshell

8 Simple Steps8 Simple Steps

Page 55: LoadRunner in a Nutshell

1. Plan the business action1. Plan the business action

Page 56: LoadRunner in a Nutshell

2. Record or write script2. Record or write script

Page 57: LoadRunner in a Nutshell

3. Setup a scenario3. Setup a scenario

Page 58: LoadRunner in a Nutshell

4. Run test scenario4. Run test scenario

Page 59: LoadRunner in a Nutshell

5. Monitor progress5. Monitor progress

Page 60: LoadRunner in a Nutshell

6. Load results in Analyzer6. Load results in Analyzer

Page 61: LoadRunner in a Nutshell

7. Draw relationships7. Draw relationships

Page 62: LoadRunner in a Nutshell

8. Complete report8. Complete report

Page 63: LoadRunner in a Nutshell

About VGenAbout VGen

Page 64: LoadRunner in a Nutshell

A detailed view:A detailed view:

Page 65: LoadRunner in a Nutshell

Script ViewScript View

Page 66: LoadRunner in a Nutshell

Tree viewTree view

Page 67: LoadRunner in a Nutshell

VUser 3 key script VUser 3 key script customization features:customization features:

Page 68: LoadRunner in a Nutshell

1. Parameterization:1. Parameterization:

Page 69: LoadRunner in a Nutshell

Allows dynamic input dataAllows dynamic input data

Page 70: LoadRunner in a Nutshell

So submit a unique value @So submit a unique value @

Page 71: LoadRunner in a Nutshell

……every iteration or…every iteration or…

Page 72: LoadRunner in a Nutshell

distribute values distribute values across scriptsacross scripts

Page 73: LoadRunner in a Nutshell

Example of parameterizingExample of parameterizing

Page 74: LoadRunner in a Nutshell
Page 75: LoadRunner in a Nutshell
Page 76: LoadRunner in a Nutshell

Read data from tableRead data from table

Page 77: LoadRunner in a Nutshell
Page 78: LoadRunner in a Nutshell

Read input data Read input data from data poolfrom data pool

Page 79: LoadRunner in a Nutshell

capitalize on custom formatscapitalize on custom formats

Page 80: LoadRunner in a Nutshell

2. Correlation:2. Correlation:

Page 81: LoadRunner in a Nutshell

Anticipate and handle Anticipate and handle dynamic datadynamic data

Page 82: LoadRunner in a Nutshell

The problem with recording:The problem with recording:

Page 83: LoadRunner in a Nutshell

……it records server responsesit records server responses

Page 84: LoadRunner in a Nutshell

……but on replay…but on replay…

Page 85: LoadRunner in a Nutshell

……it expects the exact it expects the exact same values from the serversame values from the server

Page 86: LoadRunner in a Nutshell

Example: Example: Session IDsSession IDs

Page 87: LoadRunner in a Nutshell
Page 88: LoadRunner in a Nutshell

3. Transactions:3. Transactions:

Page 89: LoadRunner in a Nutshell

Select when the Select when the transaction starts…transaction starts…

Page 90: LoadRunner in a Nutshell

……and when it endsand when it ends

Page 91: LoadRunner in a Nutshell

Track the performance in that Track the performance in that set of events (transactions)set of events (transactions)

Page 92: LoadRunner in a Nutshell

Transactions in tree form:Transactions in tree form:

Page 93: LoadRunner in a Nutshell
Page 94: LoadRunner in a Nutshell

……and in code form:and in code form:

Page 95: LoadRunner in a Nutshell

Start transaction and…

Page 96: LoadRunner in a Nutshell

end transaction

Page 97: LoadRunner in a Nutshell

VUserVUser Script Actions:Script Actions:

Page 98: LoadRunner in a Nutshell

What are Actions?What are Actions?

Page 99: LoadRunner in a Nutshell

modules / supersetsmodules / supersets

Page 100: LoadRunner in a Nutshell

ModulesModules

TransactionsTransactions

Actions Actions

Page 101: LoadRunner in a Nutshell

1. vuser_init1. vuser_init

Page 102: LoadRunner in a Nutshell

Initializing functionsInitializing functions

Page 103: LoadRunner in a Nutshell

Preliminary actionsPreliminary actions

Page 104: LoadRunner in a Nutshell

Login screensLogin screens

Page 105: LoadRunner in a Nutshell

2. vuser_Action2. vuser_Action

Page 106: LoadRunner in a Nutshell

The “meat”The “meat”

Page 107: LoadRunner in a Nutshell

main( ) functionmain( ) function

Page 108: LoadRunner in a Nutshell

3. vuser_end3. vuser_end

Page 109: LoadRunner in a Nutshell

cleanup modulecleanup module

Page 110: LoadRunner in a Nutshell
Page 111: LoadRunner in a Nutshell

Add or modify your actions

Page 112: LoadRunner in a Nutshell

Checking TransactionsChecking Transactions

Page 113: LoadRunner in a Nutshell

Inspecting RequestsInspecting Requests

Page 114: LoadRunner in a Nutshell

And ResponsesAnd Responses

Page 115: LoadRunner in a Nutshell

Client RequestsClient Requests

Page 116: LoadRunner in a Nutshell

Server ResponseServer Response

Page 117: LoadRunner in a Nutshell

Create ScenariosCreate Scenarios

Page 118: LoadRunner in a Nutshell

Elements of Scenario:Elements of Scenario:

Page 119: LoadRunner in a Nutshell

1)1) Amount of vUsers Amount of vUsers

Page 120: LoadRunner in a Nutshell

2)2) Duration Duration

Page 121: LoadRunner in a Nutshell

3)3) Machines Machines

Page 122: LoadRunner in a Nutshell

4)4) Load action Load action

Page 123: LoadRunner in a Nutshell

Duration + Load actionDuration + Load action

Page 124: LoadRunner in a Nutshell

= scenario pattern= scenario pattern

Page 125: LoadRunner in a Nutshell

Builder

Page 126: LoadRunner in a Nutshell

Setup Users

Page 127: LoadRunner in a Nutshell

The AnalyzerThe Analyzer

Page 128: LoadRunner in a Nutshell

Default metrics groups:Default metrics groups:

Page 129: LoadRunner in a Nutshell

1)1) Web Transactions Web Transactions

Page 130: LoadRunner in a Nutshell

2)2) Web Page Diagnostics Web Page Diagnostics

Page 131: LoadRunner in a Nutshell

3)3) Web Resources Web Resources

Page 132: LoadRunner in a Nutshell

4)4) Web Page Diagnostics Web Page Diagnostics

Page 133: LoadRunner in a Nutshell

5)5) System Resources System Resources

Page 134: LoadRunner in a Nutshell

DatabaseDatabase ArchitecturesArchitectures

trickier

Page 135: LoadRunner in a Nutshell

Supports most DBs:Supports most DBs:

Page 136: LoadRunner in a Nutshell

SQL ServerSQL Server Sybase Sybase DB2 DB2 Oracle Oracle

Page 137: LoadRunner in a Nutshell

……but not all versionsbut not all versions

Page 138: LoadRunner in a Nutshell

Is database the root cause?Is database the root cause?

Page 139: LoadRunner in a Nutshell

Capture a lot of counter dataCapture a lot of counter data

Page 140: LoadRunner in a Nutshell

What does the data mean?What does the data mean?

Page 141: LoadRunner in a Nutshell

Use the auto correlationUse the auto correlation

Page 142: LoadRunner in a Nutshell

Find direct correlationsFind direct correlations

Page 143: LoadRunner in a Nutshell

Find inverse correlationsFind inverse correlations

Page 144: LoadRunner in a Nutshell

Pinpoint trendsPinpoint trends

Page 145: LoadRunner in a Nutshell

SummarySummary

Page 146: LoadRunner in a Nutshell

VGen Controller Analyzer

Page 147: LoadRunner in a Nutshell

Understand what your testingUnderstand what your testing

Page 148: LoadRunner in a Nutshell

Use the 8 StepsUse the 8 Steps

Page 149: LoadRunner in a Nutshell

ParameterizeParameterize, , correlatecorrelate & &define define transactionstransactions when when

necessarynecessary

Page 150: LoadRunner in a Nutshell

endend