Performance Testing Ppt

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Performance Testing Ppt as PDF for free.

More details

  • Words: 1,484
  • Pages: 35
Envision , Evolve, Unleash

Performance Testing - LR Venu Gopal Reddy.S

Contents • • • • • •

Why Load Test Your Web Application ? Functional vs. Load Web Testing Web-Based, Multi-Tiered Architecture Manual Testing Is Problematic The LoadRunner Solution LoadRunner Expert Workflow “The Big Picture” • Plan Load Test • Sample Task Distribution Diagram • Transaction Profile

10/17/08

2

Contents Contd… • • • • • • • • •

User Profile How to Use the Information Create VuserScript Actions Think Times Parameterization Determine Which Fields to Parameterize Parameterization Decision-Maker Select the Data Access Method

10/17/08

3

Contents Contd… • • • • • • •

Data File Replacement Methods Run-Time Settings – Iterations Summary - Parameterization Transactions Automatic Transactions Summary Next session……….

10/17/08

4

Why Load Test Your Web Application?

• Why Load Test Your Web Application? – The failure of a mission-critical web application can be costly • don’t just cross your fingers

– Deploy with confidence • assure performance and functionality under realworld conditions

10/17/08

5

Functional vs. Load Web Testing Functional test

Load test

OBJECTIVE

EXAMPLE

Functionality

Do business processes function properly after implementation?

OBJECTIVE

EXAMPLE

Stability

Will 2,000 concurrent hits crash the server?

Performance

Is response time acceptable according to specifications?

Functionality under load

Do business processes function properly under heavy load?

10/17/08

6

Web-Based, Multi-Tiered Architecture

10/17/08

7

Manual Testing Is Problematic Do you have the testing resources? • Testing personnel • Client machines

All of you, click the GO button again

How do you synchronize users? How do you collect and analyze results? How do you achieve test repeatability? Coordinator

Analysis?

Web server

Database server

123.20

Testers

Load Generation

System Under Test 10/17/08

8

The LoadRunner Solution Overcomes resource limitations

Controller

Analysis

• Replaces testers with “Virtual Users” • Runs many Vusers on few machines • Controller manages the Vusers • Meaningful results with analysis tools • Repeats tests with scripted actions

Vuser host

Web server

Load Generation

Database server

System Under Test 10/17/08

9

The LoadRunner Solution Provides support for many protocols and APIs

10/17/08

10

The LoadRunner Solution

Virtual User Generator

Creates the Vusers deployed by the Controller

LoadRunner Controller

Generates load and collects test results

LoadRunner Analysis

Compiles and displays test results with graphical and statistical tools

10/17/08

11

LoadRunner Expert Workflow “The Big Picture” Phase 1

Phase 2

Phase 3

Phase 4

Phase 5

Plan Load Test

Create Web Virtual Users

Create Scenarios

Run Scenarios

Tune Analyze System Under System Based on Analysis Load

LoadRunner VUGEN

LoadRunner

CONTROLLER& ANALYSIS

10/17/08

12

Plan Load Test • System Usage Information – Task Distribution Diagram • which business tasks? • how many operations at what times of the day?

– Transaction Profile • how many operations on average, how many at peaks? • how much database activity? • how much risk to business if task fails?

– User Profile • which tasks does each real user perform? • what is ratio of different tasks for each user?

10/17/08

13

Sample Task Distribution Diagram Hours to be emulated

Business Processes Logout

40

Night

30

Day40

75

Night

Compose

1000

1200

Inbox

180

210

150

130

100

150

200

170

140

Login

*Yahoo

50

50

*System backup

1

1

12 am

2

600

50

4

50

6

8

10

12 pm

2

4

6

8

10

12

ONLINE BOOKSTORE (typical day, thousands of users) *not a web task

10/17/08

14

Transaction Profile Which business process to automate? Business process name

Typical day Peak day

Web server activity

Databas e activity

Risk

Heavy

Light

High



70/hr

✓ ✓

10/hr

15/hr

Moderate

Moderate

Low

130/hr

✓ ✓ 180/hr

Moderate

Moderate

Mod.

New Folder

20/hr

30/hr

Moderate

Moderate

High

Logout

40/hr

90/hr

Moderate

Heavy

High

Log in Inbox Compose

Selection criteria:

210/hr





✓ ✓

✓ High throughput ✓ High in database I/O ✓ High business risk (should business process fail) 10/17/08

15

User Profile

Business Process

Folder 1

Folder 2

No. of Concurrent Users

15

5

InBox

10/hr

5/hr

Login

5/hr

25/hr

Logout

Folder 3 10

5/hr

Compose

5/hr

10/17/08

16

How to Use the Information • Decide which business processes to automate • Learn what processes are linked (data dependent) • Discover peak load times – peak hours of the day – peak days of the month, quarter, or year • Decide whether to emulate processes or users

10/17/08

17

Create VuserScript •Record Vuser Actions • Add Load Runner Transactions •Parameterize data • Verify correct Execution

10/17/08

18

Actions • A recorded business process that, when played back, emulates a real user performing the business process actions on a system. Logon (recording optional)

vuser_init.c

User Actions

Logoff

(Business Processes)

(recording optional)

Action1.c, Action2.c, etc. (e.g., Create Order, Ship Order)

vuser_end.c

This section may be iterated (repeated) during one test run

Virtual User Playback Model

10/17/08

19

Think Times

Think time steps: • Simulate human users by pausing between user actions •



Inserted automatically by VuGen during recording Default Run-Time Setting is “Ignore think times” *(VuGen only)

10/17/08

20

Parameterization • The practice of replacing a recorded value in a Vuser with a placeholder which can represent an expandable range of values. • Solve certain problems that may occur during playback – date constraints – unique constraints – data caching – data dependency • Emulate real user activity • Exercise the server

10/17/08

21

Determine Which Fields to Parameterize

• Which fields require a current date? • Which fields require unique values? • Which fields exercise the database server? • Which fields’ values are dependent for validity on the value of another field?

10/17/08

22

Parameterization Decision-Maker For each field, ask . . .

Is there a unique constraint?

Do not parameterize No

Is there a date constraint?

No

Does data get cached?

Yes Yes

No No

Is this a data dependent field?

Yes Yes

Parameterize

Parameterize 10/17/08

Parameterize

Parameterize 23

Select the Data Access Method

• • • •

10/17/08

Sequential Random Unique Same line as ...

24

Data File Replacement Methods Sequential Vuser Iteration

1 2 3 4

Random

Unique

Vuser 1

Vuser 2

Vuser 3

Vuser 4

a a b c c d d h

a f b e c j d g

a l b m c k d n

a i b c c e d b

a b c d

e f g h

10/17/08

i j k l

m n param1

o p 25

Run-Time Settings – Iterations For the Sequential access method, Iteration Count should equal the number of rows in the data file

10/17/08

26

Summary - Parameterization • Parameterize fields in order to: – solve unique data constraints – solve date constraints – exercise the server(s) – handle data dependency • Establish input data: – from the database – with the help of a Functional Expert • Control Vuser execution from the Run-Time Settings – extended log, parameter substitution – number of iterations 10/17/08

27

Transactions • An end-to-end (browser-to backend-to browser) measurement of one or more user actions within an action file.

Why Add LoadRunner Transactions? • Transactions are LoadRunner’s only means of measuring performance • Measure high business risk transactions • Able to measure a single step or a group of steps • Allows performance comparison between different load tests • Helps to identify performance problems 10/17/08

28

Transactions Cont…. • Start and End Transaction

• During recording Start and End Transaction • After recording Start and End Transaction • LR_AUTO – use this when you want LoadRunner to detect the transaction status automatically • LR_PASS / LR_FAIL – use one of these when you want to set the transaction status manually in the code

10/17/08

29

Automatic Transactions • Measure performance of every test step • Compare individual steps to each other • Compare individual steps to entire business process Steps 12 sec 1 sec 9 sec 12 sec 1 sec 21 sec 19 sec 4 sec

10/17/08

Complete business process (1 minute, 19 seconds total)

30

Summary • Use LoadRunner transactions to measure: – end-to-end response times of specific steps in the business process – the entire business process – every step in the business process automatically • Add LoadRunner transactions during or after recording • Use automatic LoadRunner transactions to measure every step without manually inserting transactions

10/17/08

31

Next session……….

• Controller • Analysis • Advanced topics

10/17/08

32

Thank You

10/17/08

33

Goal Oriented Approach Phase wise Approach Goal definition (g) Preparation (p) Test execution (e) Reporting + decision next phase (rd) Multiple iterations of phase (p), (e) and (rd) are planned at a maximum of 3. In general the more important a certain activity is the earlier it is scheduled (i.e. cycle 1). The overall project process can be depicted as follows: g Goal definition

p1,2,3 Test prep.

e1,2,3 Test execution

rd1,2,3 Test reporting

Same cycle

Decision

Finished!

Next cycle Max. 3 cycles

10/17/08

34

Architecture

10/17/08

35

Related Documents

Performance Testing Ppt
November 2019 18
Performance Testing
May 2020 19
Performance Testing
November 2019 33
Beyond Performance Testing 2
November 2019 34