LoadRunner SE Guide 김범수 bskim@kbscom.co.kr 한국비지네스써비스(주) Purpose of this Presentation Educate SE’s on the LoadTesting Methodology presented to the customer on the first day of a QuickStart Ensure that appropriate expectations are set with customers - PRIOR TO TEST !!! Better understand what it takes to perform a successful LoadTest LoadTest Implementation Process Execution Results Preparation Development Analysis Summary , Start Finish Go Testing Testing Live! Planning Objectives / Goals of LoadTest System Analysis and Design LoadRunner H/W and S/W DB Refresh Strategy and SUT Monitoring Tools LoadRunner Product Training Planning - Objectives/Goals FOR EXAMPLE: Stability - Will 500 concurrent users crash the system? Reliability - Do all the Business transactions work properly under load? Performance - Is the performance acceptable according to the specifications? Planning - Analysis/Design Designing a Scenario: – – – – Who are the users? How many users are there? What do they do? How often do they do it? What do you want to measure (transactions) – Entire Business Process (Post Journal Entry) – All SQL traffic – Specific DB inserts or updates Planning - Analysis/Design Task Distribution Diagram 12 AM System Backup 400 500 6 AM 8 AM 12 PM Emulated 5 PM Hour 8 PM Create Invoices (Accounts Payable) 15 20 Delivery Due List 5 20 2 50 Create Sales Orders 35 15 Display Sales Orders 5 10 PM Good Issued 70 20 20 15 20 5 Transferring Materials to the Vendors 15 10 Changing Orders27 Billing Due List 60 Sales Create Invoices (Accounts Receivable) 30 45 Invoice Printing 30 Calling Human Resources Information System 25 White area is daytime online processing Gray area is nighttime batch processing 75 25 12 AM Planning - Analysis/Design Transaction Volume Estimate Number of Transactions, Concurrent Reports, and Print Users Requests Average: transactions/ user/hour Peak: transactions/ user/hour 50 Sales Orders Entry 35 50 25 Sales Return Processing 50 75 10 Change Sales Order 50 10 20 Delivery Due List 20 50 15 Change Delivery 10 25 5 Packing 50 100 5 Picking 50 100 10 Invoice Printing 20 50 Planning - LoadRunner H/W What type of hardware required to support number of users? – OS, RAM, Disk, CPU Where to place driver machines ? WAN / LAN Network simulations GUI / DB Vusers ? Planning - LoadRunner H/W Load Generation System Under Test GUI virtual user DB virtual user Host 1 – DB vusers Host 2 – DB vusers WAN Application Server Host 3 – GUI vuser Controller Database Server Planning - SUT Scripting and Execution environment Stable environment – configuration – data (loaded with Master and Transactional) – completed System and Functional Testing DB refresh strategy – Between runs ? Planning - Monitoring Tools LoadRunner Monitoring Tools Database Tools Network Sniffers (H/W) Operating System Planning - Who? Project Lead – Objective, Goals and Project Plans LoadRunner Team – Analysis, Design and Training Technical System Staff – System Under Test Functional Experts – Analysis and Design Development LR Script Development – GUI - WinRunner – DB - VuGen “Test” Data creation and preparation LR Script Testing Script Development Understand all Business Process – Navigation and all Data input/output Basic Script Recording Enhance Script – – – – Enter transactions and rendezvous Parameterize and variablize data Error checking routines Correlate Queries Test Data - Creation Build Data files to support multiple users – Extract existing data from DB – Build data as necessary - LR Scripts Data “Prep” Phase – In SUT create and modify data as needed to support large load test – Create backup of DB to refresh from Script Testing Single User - Single Script – Test all the data combinations – Identify new exceptions or correlation's Multiple User - Single Script – Table locks – Data integrity Multiple User - Multiple Scripts – Data issues among different BP’s and users Development And Testing Who? LoadRunner Team – Create and test both scripts and data Technical System Staff – Create data and DB strategy Functional Experts – Create scripts and data Execution Three types of execution – 20% of Full Load - flush out transaction problems, effectively debug transaction – Full Load - flush out system problems, effectively debug system – 120% of Full Load (Overdrive) - provide a margin of error as well as future scalability Execution Should be an iterative process: – – – – Refresh DB - Baseline Run Scenario (LoadTest) Analyze Results (LR, DB, OS, Network) Tune System Execution - Who? LoadRunner Team – Run Scenario and pinpoint problems Technical System Staff – Tune and Debug System problems Application Developers – Tune and Debug Application problems Common Challenges: – Analysis and Design - time consuming, difficult to analyze user activities – Data Refresh Strategy - time consuming, schedule into system activities, disk space – Functional Expertise - hard to find, needed during script recording and data management – Debug/Tune System - very specific expertise, time and availability, ROI !!! Wrap-Up LoadTesting is NOT trivial Minimal 3 weeks with very narrowed scope and full systems and functional support Engage “Consulting Group” to participate in conference calls with customers to discuss implementation issues if necessary Wrap-Up Excellent products do not guarantee successful customers… LoadRunner QuickStarts Do