Presentation is loading. Please wait.

Presentation is loading. Please wait.

Performance Testing - LR. 6/18/20162 Contents Why Load Test Your Web Application ? Functional vs. Load Web Testing Web-Based, Multi-Tiered Architecture.

Similar presentations


Presentation on theme: "Performance Testing - LR. 6/18/20162 Contents Why Load Test Your Web Application ? Functional vs. Load Web Testing Web-Based, Multi-Tiered Architecture."— Presentation transcript:

1 Performance Testing - LR

2 6/18/20162 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

3 6/18/20163 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

4 6/18/20164 Contents Contd… Data File Replacement Methods Run-Time Settings – Iterations Summary - Parameterization Transactions Automatic Transactions Summary Next session……….

5 6/18/20165 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 real- world conditions

6 6/18/20166 Functional vs. Load Web Testing Functional test Load test Do business processes function properly after implementation? Functionality EXAMPLEOBJECTIVE Will 2,000 concurrent hits crash the server? Stability Is response time acceptable according to specifications? Performance Do business processes function properly under heavy load? Functionality under load EXAMPLEOBJECTIVE

7 6/18/20167 Web-Based, Multi-Tiered Architecture

8 6/18/20168 Testers Load Generation System Under Test Do you have the testing resources? Testing personnel Client machines How do you synchronize users? How do you collect and analyze results? How do you achieve test repeatability? Analysis? 123.20 All of you, click the GO button again Manual Testing Is Problematic Web server Database server Coordinator

9 6/18/20169 System Under Test The LoadRunner Solution Web server Database server Load Generation Vuser host Overcomes resource limitations Meaningful results with analysis tools Repeats tests with scripted actions Analysis Controller Runs many Vusers on few machines Replaces testers with “Virtual Users” Controller manages the Vusers

10 6/18/201610 The LoadRunner Solution Provides support for many protocols and APIs

11 6/18/201611 The LoadRunner Solution Virtual User Generator Generates load and collects test results Creates the Vusers deployed by the Controller Compiles and displays test results with graphical and statistical tools LoadRunner Controller LoadRunner Analysis

12 6/18/201612 Tune System Based on Analysis LoadRunner Expert Workflow “The Big Picture” Analyze System Under Load Phase 5 LoadRunner V U G E N LoadRunner C O N T R O L L E R & A N A L Y S I S Run Scenarios Phase 4 Create Scenarios Phase 3 Create Web Virtual Users Phase 2Phase 1 Plan Load Test

13 6/18/201613 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?

14 6/18/201614 Sample Task Distribution Diagram ONLINE BOOKSTORE (typical day, thousands of users) Login *Yahoo *System backup Business Processes Compose Inbox Logout NightDayNight 11 50 180210150130100 150200170140 10001200 600 40304075 12 2244668810 12 ampm Hours to be emulated *not a web task

15 6/18/201615 Transaction Profile Which business process to automate? RiskBusiness process name Logout Typical day 20/hr Peak day 30/hr Web server activity Moderate High 40/hr90/hrHeavyHigh Database activity 3 Compose New Folder Inbox 130/hr180/hrModerate Mod. 10/hr15/hrModerate Low 3 3 3 Log in 70/hr 3 3 3 3 3 210/hrHeavyLightHigh Selection criteria: High in database I/O 3 High throughput 3 High business risk (should business process fail) 3

16 6/18/201616 User Profile Business Process No. of Concur- rent Users InBox Login Logout Compose Folder 1 10/hr 5/hr 15 Folder 2 5/hr 25/hr 5 Folder 3 5/hr 10

17 6/18/201617 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

18 6/18/201618 Record Vuser Actions Add Load Runner Transactions Parameterize data Verify correct Execution Create VuserScript

19 6/18/201619 Actions A recorded business process that, when played back, emulates a real user performing the business process actions on a system. Virtual User Playback Model Logon (recording optional) vuser_init.c User Actions (Business Processes) Action1.c, Action2.c, etc. (e.g., Create Order, Ship Order) This section may be iterated (repeated) during one test run Logoff (recording optional) vuser_end.c

20 6/18/201620 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)

21 6/18/201621 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 Parameterization

22 6/18/201622 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?

23 6/18/201623 Parameterization Decision- Maker For each field, ask... Is there a date constraint? Does data get cached? Parameterize Is there a unique constraint? Is this a data dependent field? Parameterize Do not parameterize No Yes No Yes

24 6/18/201624 Select the Data Access Method Sequential Random Unique Same line as...

25 6/18/201625 12341234 Vuser Iteration Vuser 1Vuser 2 Vuser 3 Vuser 4 Data File Replacement Methods aaaa bbbb cccc dddd aeim bfjn cgko dhlp a c d h f e j g l m k n i c e b SequentialRandom param1 Unique

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

27 6/18/201627 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

28 6/18/201628 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

29 6/18/201629 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

30 6/18/201630 Automatic Transactions Steps 12 sec 1 sec 9 sec 12 sec 1 sec 21 sec 19 sec 4 sec Complete business process (1 minute, 19 seconds total) Measure performance of every test step Compare individual steps to each other Compare individual steps to entire business process

31 6/18/201631 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

32 6/18/201632 Next session………. Controller Analysis Advanced topics

33 6/18/201633 Thank You

34 6/18/201634 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: Goal Oriented Approach

35 6/18/201635 Architecture


Download ppt "Performance Testing - LR. 6/18/20162 Contents Why Load Test Your Web Application ? Functional vs. Load Web Testing Web-Based, Multi-Tiered Architecture."

Similar presentations


Ads by Google