e-load User Guide Version 5.1 Empirix, Inc.



Similar documents
Installing Management Applications on VNX for File

How To Test A Web Server

Test Run Analysis Interpretation (AI) Made Easy with OpenLoad

Load Manager Administrator s Guide For other guides in this document set, go to the Document Center

HP essential knowledge series: an introduction to load testing for web applications. White paper

Performance Testing Process A Whitepaper


Business white paper. Load factor: performance testing for Web applications

APPLICATION DELIVERY LOAD TESTING TO PREDICT WEB PERFORMANCE

Gómez Script Recorder

An Oracle White Paper March Load Testing Best Practices for Oracle E- Business Suite using Oracle Application Testing Suite

MAS 90. Installation and System Administrator's Guide 4WIN /04

Load and Performance Load Testing. RadView Software October

Open Source and Commercial Performance Testing Tools

Performance Testing IBM MQSeries* Infrastructures


White paper: Unlocking the potential of load testing to maximise ROI and reduce risk.

An introduction to load testing for Web applications. Business white paper

How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip

Web Load Stress Testing

A closer look at HP LoadRunner software

Red Hat Network: Monitoring Module Overview

Web Application s Performance Testing

Sage ERP MAS 90 Sage ERP MAS 200 Sage ERP MAS 200 SQL. Installation and System Administrator's Guide 4MASIN450-08

Tivoli Access Manager Agent for Windows Installation Guide

MAGENTO HOSTING Progressive Server Performance Improvements

How to Configure a Stress Test Project for Microsoft Office SharePoint Server 2007 using Visual Studio Team Suite 2008.

Installation Guide. Version 10.2

Crystal Reports Installation Guide

Oracle Applications Release 10.7 NCA Network Performance for the Enterprise. An Oracle White Paper January 1998

Application Servers - BEA WebLogic. Installing the Application Server

Novell ZENworks Asset Management 7.5

MGC WebCommander Web Server Manager

Ascent Capture 5 Web Validation Server Getting Started with Ascent Capture Web Validation Server

Red Hat Satellite Management and automation of your Red Hat Enterprise Linux environment

Red Hat Network Satellite Management and automation of your Red Hat Enterprise Linux environment

WebLOAD User's Guide Version 8.0

WebLOAD IDE User's Guide Version 8.0

Application Performance Testing Basics

HP LoadRunner. Online Monitor Reference. for the Windows operating systems. Software Version: 9.50

Performance Analysis of Web based Applications on Single and Multi Core Servers

How To Install An Aneka Cloud On A Windows 7 Computer (For Free)

Learning More About Load Testing

RSView 32 ACTIVE DISPLAY SYSTEM GETTING RESULTS GUIDE. PUBLICATION VW32AD-GR001E-EN-E July 2011 Supersedes Publication VW32AD-GR001D-EN-E


CA Nimsoft Monitor. Probe Guide for Active Directory Server. ad_server v1.4 series

Rapid Bottleneck Identification

Upgrading from Call Center Reporting to Reporting for Contact Center. BCM Contact Center

IBM SAP International Competence Center. Load testing SAP ABAP Web Dynpro applications with IBM Rational Performance Tester

FileMaker Server 7. Administrator s Guide. For Windows and Mac OS

TANDBERG MANAGEMENT SUITE 10.0

VERITAS Bare Metal Restore 4.6 for VERITAS NetBackup

CA Nimsoft Monitor. Probe Guide for CPU, Disk and Memory. cdm v4.7 series

HP Business Availability Center

Evaluation of Load/Stress tools for Web Applications testing

Server Installation Guide ZENworks Patch Management 6.4 SP2

PERFORMANCE TESTING. New Batches Info. We are ready to serve Latest Testing Trends, Are you ready to learn.?? START DATE : TIMINGS : DURATION :

Case Study - I. Industry: Social Networking Website Technology : J2EE AJAX, Spring, MySQL, Weblogic, Windows Server 2008.

An Introduction to LoadRunner A Powerful Performance Testing Tool by HP. An Introduction to LoadRunner. A Powerful Performance Testing Tool by HP

FactoryTalk Gateway Getting Results Guide

Contents Introduction... 5 Deployment Considerations... 9 Deployment Architectures... 11

DEPLOYMENT GUIDE Version 1.0. Deploying F5 with the Oracle Fusion Middleware SOA Suite 11gR1

Infor Web UI Sizing and Deployment for a Thin Client Solution

Business Application Services Testing

Load Testing How To. Load Testing Overview

Expedite for Windows Software Development Kit Programming Guide

FileMaker Server 15. Getting Started Guide

Informatica Data Director Performance

SQLBase. Starter Guide

W21. Performance Testing: Step On It. Nadine Pelicaen. P r e s e n t a t i o n

Kaseya Server Instal ation User Guide June 6, 2008

EXPLORER AND REAL-TIME ANALYZER USER GUIDE

End User Guide The guide for /ftp account owner

Security Correlation Server Quick Installation Guide

Tableau Server Scalability Explained

DEPLOYMENT GUIDE Version 1.1. Deploying F5 with Oracle Fusion Middleware Identity Management 11gR1

FileMaker Server 11. Getting Started Guide

HP Business Availability Center

Performance Tuning Guide for ECM 2.0

What Is Specific in Load Testing?

Testing and Restoring the Nasuni Filer in a Disaster Recovery Scenario

FileMaker Server 10. Getting Started Guide

Application Testing Suite Oracle Load Testing Introduction

echomountain Enterprise Monitoring, Notification & Reporting Services Protect your business

PeopleSoft Customer Relationship Management 9.1 Hardware and Software Requirements Guide

Installation Guide for Pulse on Windows Server 2012

Load testing with. WAPT Cloud. Quick Start Guide

Features Overview Guide About new features in WhatsUp Gold v12

Release System Administrator s Guide

Interstage Application Server V7.0 Single Sign-on Operator's Guide

Load Testing Hyperion Applications Using Oracle Load Testing 9.1

Mike Chyi, Micro Focus Solution Consultant May 12, 2010

QUALITYMATE FOR LOAD TESTING

How To Test For Performance

Web Filter. SurfControl Web Filter 5.0 Installation Guide. The World s #1 Web & Filtering Company

Using EMC Documentum with Adobe LiveCycle ES

QACenter Installation and Configuration Guide. Release 4.4.2

Citrix EdgeSight Administrator s Guide. Citrix EdgeSight for Endpoints 5.3 Citrix EdgeSight for XenApp 5.3

Transcription:

USER GUIDE

e-load User Guide Version 5.1 Empirix, Inc. Copyright Notice Copyright 1997-2001 Empirix, Inc. All rights reserved. The contents of this document and the associated e-test suite software are the property of Empirix, Inc. and are copyrighted. No part of this document may be copied or distributed, transmitted, transcribed, stored in a retrieval system, or translated into any human or computer language, in any form, or by any means, electronic, mechanical, magnetic, manual, or otherwise, or disclosed to third parties without the express written permission of Empirix, Inc. Printed in the United States of America Trademarks Data Bank Wizard, e-manager, e-reporter, e-spider, e-test, e-tester, d-tracker, ServerStats, TrueLoad, and Visual Scripts, are all trademarks or service marks and e-load and e-monitor, are registered trademarks of Empirix, Inc in the United Stats and other countries. Microsoft is a registered trademark and Windows, Visual C++, Visual J++, and Visual Basic are trademarks of Microsoft Corporation. Java is a trademark of Sun Microsystems. Pentium is a registered trademark of the Intel Corporation. All other names are used for identification purposes only and may be trademarks of their respective owners. Empirix, Inc. 1430 Main St. Waltham, MA 02451 Ph: 781-993-8500 Fax: 781-993-8600 Web: http://www.empirix.com Email: webtest@empirix.com USA, Japan, Singapore, UK/Europe To contact a local Empirix office, visit our Web site at www.empirix.com

Contents Contents Preface Chapter 1 Introduction About This Guide...ix Related Documentation...x e-test Suite Printed Manuals...x Other Printed Manuals...xi Electronic Documentation...xii Using Help...xiii Conventions...xiii Obtaining Technical Support...xiv About e-load...1 Advantages of e-load...2 TrueLoad Technology...2 Reuse of Existing Visual Scripts...3 User-Defined Virtual User Profiles...4 Single Point of Control with Distributed Agents...4 Data-Driven Load Testing...5 Real Time Reports and Graphs...5 Real Time Server-Side Statistics Monitoring...5 Optimized for Popular IDEs...6 Development-to-Deployment Testing with e-test Suite...7 System Requirements...8 Contents iii

Contents Chapter 2 Planning for Load Testing Chapter 3 iv Goals of Scalability Testing...9 Phases of Scalability Testing...11 Criteria for Accurate Scalability Testing...12 Determine Additional Tools Required to Perform Testing and Diagnosis.13 Determining the Hardware Needed to Execute the Tests...14 Who Should be Responsible for Load Testing?...16 What to Avoid When Testing for Scalability...16 Performing Scalability Testing...17 Define the Process...17 Define the Criteria...19 Planning the Scalability Tests...21 Planning the Load Test Scenarios...22 Create and Verify the Test Scripts...23 Create and Verify the Load Test Scenarios...24 Execute the Tests...25 Evaluate the Results...26 Generate Analysis Reports...27 Summary...28 e-load Basics Installing e-load...29 Installing e-load Controller...30 Installing e-load Agent...30 Verify Network Access to Agent Workstations...31 Main Window Features...33 Overview of the Menu Options...34 File Menu...34 Edit Menu...34 Run Menu...35 Options Menu...37 Arrange Menu...37 Tools Menu...38 Help Menu...38 Scenario Tab...39 e-load User Guide

Contents Chapter 4 Autopilot Tab...40 Virtual User Grid...41 Status Bar...41 Setting Preferences...42 Setting Runtime Profiles...45 Using the Download Manager...46 Setting UNIX Client Options...48 Virtual User Licensing...50 Defining Virtual User Profiles Chapter 5 Default Profiles...51 Creating User-Defined Profiles...52 Creating a New Virtual User Profile...52 Adding Visual Scripts to the Sections Tree...54 Adding Synchronization Points to the Sections Tree...54 Moving Items in the Sections Tree...55 Editing User-Defined Profiles...56 Creating New Synchronization Points...57 Editing Synchronization Points...58 Defining Virtual User Scenarios Defining Scenarios...59 Selecting Profiles...60 Specifying Scenario Profile Attributes...61 Determining the Number of Virtual Users...66 Managing Sessions...67 Using Data Banks with e-load...70 Using the Data Bank Control...70 Setting Data Bank Preferences...71 Using UNIX Clients...72 UNIX Client Troubleshooting Tips...72 Connection and Agent Start Up...73 Sun Secure Socket Layer...73 Using IP Spoofing with e-load...74 Working with Scenario Files...76 Contents v

Contents Chapter 6 Saving Scenarios...76 Opening Existing Scenarios...76 Submitting Scenarios to Autopilot...77 Submit without Starting the Scenario...77 Submit and Start Scenario in Autopilot...77 Using Autopilot Chapter 7 Specifying Start and Stop Settings...79 Specifying When to Start Virtual Users...80 Specifying When to Stop Virtual Users...80 Specifying Virtual User Rampup...81 Specifying How Many Virtual Users to Start at a Time...81 Specifying Delay before Starting Virtual Users...82 Manually Starting and Stopping the Autopilot...83 Starting the Autopilot...83 Stopping the Autopilot...84 Working with Virtual Users...84 Overview of the Virtual Users Grid...85 Controlling Individual Virtual Users...86 Managing Synchronization Points...87 Releasing Individual Virtual Users...87 Releasing Multiple Virtual Users...88 Releasing a Synchronization Point...88 Modifying Run Attributes...89 Stopping All Virtual Users...90 Aborting All Virtual Users...90 Using Graphs and Reports Using the Performance Statistics...92 Using Load Graphs...94 Performance Vs. Users Graph...94 Errors Vs. Users Graph...95 Performance Vs. Time Graph...96 Errors Vs. Time Graph...97 Users Vs. Time Graph...98 vi e-load User Guide

Contents Chapter 8 Statistics Vs. Time Graph...99 Changing the Time Span...100 Viewing Workstation Statistics...101 Using ServerStats Load Workstation Counters...101 Using ServerStats Load Overall Data Counters...102 Using ServerStats Load Data Counters...103 Running e-test Console on Another Workstation...104 Generating Summary Reports...105 Scenario Reports...106 Session Reports...107 Other Reporting Options...107 Printing Summary Reports...108 Saving Summary Reports...108 Closing Summary Reports...108 Using the Virtual User Display Appendix A Overview of the Main Window...109 Overview of the Menu Options...110 File Menu...110 View Menu...110 Navigate Menu...111 Options Menu...111 Window Menu...111 Overview of the Browser Pane...112 Overview of the History List...112 Overview of the Status Bar...113 Specifying Log File Options...114 Setting Virtual User Display Limits...115 Internet Status Codes Server Status Codes...117 Information Codes...117 Success Codes...117 Redirection Codes...118 Failure Codes...119 Contents vii

Contents Appendix B Server Error Codes...120 Internet Codes...121 Internet Error Codes...121 FTP API Error Codes...125 Gopher API Error Codes...125 HTTP API Error Codes...126 Additional Information...128 e-load Error Messages Viewing Error Codes...129 Error Messages...130 RSWISERV Errors...134 Index...135 viii e-load User Guide

Preface Welcome to the e-load User Guide. This guide explains how to get started using the features and options of e-load for load testing of Webbased applications. This guide is intended for Web test engineers who will be conducting load and scalability testing of a Web site or application. The guide does require an understanding of software or Web application testing concepts. Test engineers using e-load should be familiar with e-tester Visual Scripts and the concepts of Web application testing, load testing, scalability testing, and reporting. e-load does not require any programming experience to develop load scenarios. However, test engineers performing distributed load testing in a network environment should be familiar with networking concepts and how to verify communication between workstations in a network. About This Guide This guide contains the following chapters: Chapter 1 Introduction e-load. Introduction: provides an overview of the major features of Chapter 2 Planning for Load L Testing: provides a basic methodology for testing scalability and performance of Web applications throughout the life cycle. Chapter 3 e-load Basics Load Basics: provides descriptions of the e-load main window features and menu options. Chapter 4 Defining Virtual User Profiles ual User Profiles: explains how to define profiles that specify the actions of virtual users for load/performance testing. Chapter 5 Defining Virtual User Scenarios: explains how to define virtual user scenarios based upon the virtual user profiles. ix

Preface Chapter 6 Using Autopilot: explains how to use the Autopilot to specify start and stop times for scenario profiles and the playback rampup specifications for each Virtual User. Chapter 7 Using Graphs and Reports Using Graphs and Reports: explains how to view real-time performance, statistics, and error information in graphs and reports. Chapter 8 Using the Virtual User Display Using the Virtual User Display: explains how to use the virtual user display to view virtual user actions during an Autopilot session. Appendix A Internet Status Codes Internet Status Codes: lists the status codes and Internet error codes that can be returned from a server. Appendix B e-load Error Messages Load Error Messages: provides a reference error messages and codes generated by e-load. Related Documentation The e-test suite includes a complete set of printed manuals, electronic manuals, and online help. e-test Suite Printed Manuals The e-test suite includes the following printed manuals: Getting Started with e-test suite introduces the software tools in the e-test suite and provides step-by-step tutorials for e-tester, e-manager, e-monitor, and e-load (which includes ServerStats and e-reporter). e-tester User Guide explains how to use the features and options of e-tester to create Visual Scripts for regression/performance testing and monitoring of Web sites or applications. This guide also includes reference information for using the e-tester Programming Interface for expanding Visual Script capabilities using Visual Basic for Applications (VBA). e-tester for WAP User Guide explains how to use the Wireless Application Protocol recording features of e-tester. This manual is a supplement to the e-tester User Guide and is included only if you have the WAP enabled version of e-tester. x e-load User Guide

Preface e-manager User Guide explains how to use the features and options of e- Manager to schedule and play back multiple Visual Scripts for regression testing of Web sites or applications. e-manager uses the Visual Scripts developed by e-tester. e-monitor User Guide explains how to use the features and options of e-monitor to perform periodic or continuous monitoring of Web sites and related servers. e-monitor uses the Visual Scripts developed by e-tester. e-load User Guide explains how to use the features and options of e-load to simulate multiple users accessing a Web site or application for performance testing. e-load uses the Visual Scripts developed by e-tester. ServerStats User Guide explains how to use the features and options of ServerStats to monitor operational performance of a variety of application servers, Web servers, database servers and systems. e-reporter User Guide explains how to use the features and options of e-reporter and WebReporter to generate graphs and reports for e-load, e-monitor, and ServerStats performance data. Other Printed Manuals In addition to the e-test suite documentation set, the following printed manuals are available with the d-tracker product: d-tracker User Guide explains how to use the features and options of d-tracker for issue/defect tracking and management. d-tracker Administrator Guide explains how to use the administrative features and options of d-tracker for customizing the terminology and appearance of d-tracker for your organization s requirements. Preface xi

Preface Electronic Documentation The e-test suite download from our Web site automatically installs an Adobe Portable Document Format (PDF) version of the Getting Started with e-test suite manual and an e-spider Tutorial. These documents require the Adobe Acrobat Reader, version 4.x, to open and view the.pdf files. You can download the free Acrobat Reader from the Adobe Web site: http://www.adobe.com/products/acrobat/readstep2.html. The Getting Started with e-test suite PDF file is an option on the e-test suite Start menu. The e-spider Tutorial PDF file is copied to the e-test suite installation directory (C:\Empirix\eTEST is the default). The installation also includes a readme.doc file that contains release notes and the latest updates to the product documentation. The readme.doc file opens in Microsoft Wordpad when you select the Release Notes option on the e-test suite Start menu. Also included is an e-monitor v5.0 to v5.1 conversion documentation (Wm50-51Conv.pdf) file that explains how to migrate existing 5.0 Shell Scripts to 5.1 jobs and schedules. The full e-test suite documentation set is provided on the product CD- ROM in Adobe Portable Document Format (PDF). You can use the Acrobat Reader, version 4.x, to view, search, and print the documentation set. The e-test suite CD-ROM includes the Acrobat Reader application. You can install Acrobat Reader using the e-test suite CD-ROM setup program or by selecting ar40eng.exe in the Acrobat Reader directory. See the Adobe Web site, http://www.adobe.com, for additional information about Acrobat Reader. The full documentation set includes the following files: E e-test Suite Getting Started.pdf E e-tester User Guide.pdf E e-tester for WAP User Guide.pdf E e-manager User Guide.pdf E e-monitor User Guide.pdf E e-load User Guide.pdf E WebReporter User Guide.pdf E e-spider Tutorial.pdf E d-tracker User Guide.pdf E d-tracker Administrator Guide.pdf E readme.doc E Wm50-51Conv.pdf All of the.pdf files are in the Documentation directory of the product CD-ROM. The e-test Suite Getting Started.pdf, e-spider Tutorial.pdf, WM50-51Conv.pdf, and readme.doc files are installed during the e-test xii e-load User Guide

Preface Using Help Conventions suite setup procedure. You can copy the user guide.pdf files to a local drive or open them in Acrobat Reader from the CD-ROM. If you downloaded the product from the our Web site and wish to receive electronic versions of the User Guides in.pdf format, please send an email message to webtest_support@empirix.com. You ll need the Acrobat Reader v4 to open and view the documents. The e-test suite CD-ROM also includes the Microsoft Visual Basic Scripting Edition (VBScript) Language Reference documentation. You can install the files using the e-test suite CD-ROM setup program or by selecting vbsdoc.exe in the MS VB Script Documentation directory. e-load provides a comprehensive online help system. The help topics include step-by-step how to instructions for common tasks and a complete reference. You can press the F1 key at any open dialog box for an explanation of the options. You can select Help Contents to open the online help contents and index. This guide uses the following typographical conventions to identify specific items: Convention Bold Sans Serif Sans Serif Underlined Sans Serif Fixed-Pitch type Arrow between menu options. Description Menu options and dialog box selections. Web page hyperlinks. File names and Visual Script nodes. Program code. Select each option in sequence. Preface xiii

Preface Obtaining Technical Support If you have questions about e-test suite, first look in this guide, the online Help, and the release notes delivered with the software. You can also check our Web site for the latest information about upgrades and other issues at http://www.empirix.com. If you wish to contact Empirix Web Test + Monitoring Support, please use the following contact numbers and email addresses: Tel. North America: (781) 993-8562 (8 a.m. to 8 p.m. EST) Europe: +44 (0) 1344 668413 (8:30-18:00 GMT) Japan: 81-3-3791-5353 Fax. North America: (781) 993-8600 Email North America: webtest_support@empirix.com Europe: europe_webtest_support@empirix.com Key Requests: To request a software license key, please call (781) 993-8500 or send your request via email to keys@empirix.com. xiv e-load User Guide

Chapter 1 Introduction About e-load The power of the Internet is that you can make your new Web application available to thousands of users instantaneously. That s also the scary part. Fortune 1000 companies are rapidly exploiting Web technology for business-critical commerce and enterprise applications. Scalability is one of the top concerns most often cited by IT managers as they prepare to deploy new Internet and Intranet applications for their companies. With the myriad of technologies and platforms to choose from, it s no wonder that the biggest concern many developers have is will the application scale? Since much of the technology is new, there is significant risk with any Web project that the application will not perform adequately under reallife conditions. The only way to mitigate this risk is by emulating the load of hundreds or thousands of simultaneous users prior to the application going live. e-load provides the easiest and most accurate way to test the scalability of your e-commerce and e-business applications. e-load emulates thousands of virtual users accessing your site simultaneously, and measures the effect of the load on application performance. TrueLoad technology ensures that your tests closely correlate with real user-load so you can confidently use e-load s results to help make key decisions about your system s architecture, tuning, and hosting alternatives. e-load is the load and scalability testing component of the e-test suite. e-load requires no programming and is operated using an intuitive graphical user interface and Visual Scripts. e-load uses the Visual Scripts you develop using e-tester, which have verification and existence testing capabilities, to emulate the Virtual Users for load testing. 1

Advantages of e-load Advantages of e-load e-load offers several advantages over current load testing tools for Webbased applications, as follows: E TrueLoad Technology E Reuse of existing Visual Scripts E User-defined Virtual User Profiles E Single Point of Control with Distributed Agents E Data-Driven Load Testing E Real Time Reports and Graphs E Real Time Server-Side Statistics Monitoring E Optimized for Popular IDEs TrueLoad Technology e-load utilizes innovative TrueLoad technology that closely emulates the traffic from real Web users using real Web browsers. TrueLoad includes the following unique technologies: Object-Oriented Oriented Recording Unlike HTTP-based tools, e-load records the actual objects used by the Web browser to render a page. These objects are represented graphically in e-load s Visual Scripts. The Visual Scripts that are used for load testing are richer in detail than what is captured with HTTP recorders, and are much easier to understand, maintain, and debug. As the application-under-test evolves during the development cycle, it is very easy to make incremental updates to the Visual Script. Automatic Response Verification e-load automatically checks for the accuracy of each of the pages returned by the server. If the pages match what is defined in the Visual Script, the test will proceed without errors. If pages are returned that do not match the recorded baseline script, then an error will be flagged. Concurrent Object Requests Like IE and Netscape, each e-load Virtual User makes concurrent requests to the server using the multi-threading capabilities of the operating system; i.e. one thread gets the page, another gets images, etc. The result is that the intensity of hits generated on the back-end servers is identical to that of a real browser. 2 e-load User Guide

Advantages of e-load The following illustration shows the difference between concurrent object requests and sequential object requests: Hit 1...Response 1 Hit 2...Response 2 Hit 3...Response 3 3 Hits/Unit time Hit 1...Response 1 1 Hit/Unit time Concurrent Object Requests (TrueLoad Technology) Sequential Object Requests (Conventional HTTP Recorders) Hit 2...Response 2 Hit 3...Response 3 Time Automatic Session Management e-load automatically recognizes and handles the session variables for popular development environments such as NetDynamics (Spider Session), Microsoft ASP (Session Object), ColdFusion (Session Cookies), and WebObjects (URL Session). TrueLoad technology used in e-load offers the most accurate load simulation available, and produces results that closely correlate with reallife usage. Reuse of Existing Visual Scripts e-load uses the same Visual Scripts created for functional testing with e-tester to emulate hundreds or thousands of virtual users. The e-load Scenario Manager lets you define any number of custom load scenarios by simply pointing and clicking on the names of the prerecorded Visual Scripts and then specifying how many virtual users of each type you wish to run. You can change the number and type of users on-the-fly to try what-if scenarios as you vary the loading conditions or application settings. While running, any virtual user can be expanded to be able to view the actual pages seen by virtual users to aid in debugging. Chapter 1: Introduction 3

Advantages of e-load User-Defined Virtual User Profiles e-load also lets you combine multiple Visual Scripts as part of a single virtual user profile. Within these profiles, you can specify Visual Scripts to use as prolog, run, epilog, and error scripts. User-Defined Profiles Run Multiple Visual Scripts and Can Include Sync Points User-defined profiles can also include synchronization points to create realistic multi-user situations. Single Point of Control with Distributed Agents Virtual users can be simulated by a single server or distributed among multiple servers located anywhere on a LAN or WAN. The e-load controller can run virtual user agents on distributed client stations from a single location. Controller Station Runs e-load Controller Server Agent Stations Run e-load Agents 4 e-load User Guide

Advantages of e-load Using the e-load Scenario manager and Autopilot, you can define any number of custom load scenarios by simply pointing and clicking on the names of the pre-recorded Visual Scripts. e-load scenarios define which virtual user profiles each agent will run on which workstation, specifies how many virtual users of each type to run, and how virtual users should ramp up. Data-Driven Load Testing e-load easily supports data-driven testing to emulate realistic scenarios in which many different users are accessing different database records simultaneously. The e-tester Data Bank Wizard lets you re-use a single recorded script many times with a different data set for each virtual user. For example, you can use different usernames, passwords, account balances, etc. for different virtual users. Data is automatically read in from an external Data Bank and overlaid onto each virtual user. Real Time Reports and Graphs The integrated report graphing capability in e-load lets you see the results of your test in real time. Performance data can be accumulated at varying levels of granularity including profiles, scripts, groups of pages, individual pages, and objects on pages. Graphs and reports include response time, error rates, number of users, and statistics such as hits-persecond, and pages-per-second, etc. In addition, e-reporter provides for post-run analysis using a comprehensive set of graphs and reports. e-reporter can also export data for use in external programs such as Microsoft ] Excel for further analysis. Real Time Server-Side Statistics Monitoring The server-statistics monitoring capability of ServerStats lets you monitor a variety of server-side application, database, system, and Web server statistics. You can configure ServerStats to display real-time performance statistics for the various hosts and services available from the server such as, percentage of CPU usage, memory usage, Web server statistics, etc. Chapter 1: Introduction 5

Advantages of e-load ServerStats provides performance-monitoring capabilities for the following data sources: E Allaire ColdFusion E Apache Web Server E ATG Dynamo Server E BEA WebLogic Server E BroadVision Server E COM+ E Generic SNMP E HP-UX System E iplanet Enterprise Server for Windows NT E iplanet Enterprise Server for UNIX E Linux System E Microsoft Active Server Pages E Microsoft Internet Information Server E Microsoft SQL Server E Netscape Enterprise Server for Windows NT E Netscape Enterprise Server for UNIX E Network Node Statistics E Oracle Database E Solaris System E Windows NT or 2000 System You can monitor specific counters in real time using visual indicator gauges or using graphs. In addition to performance monitoring, ServerStats let you define scripts that can log warnings or alarms if a server s counter performance goes outside a defined range. Server statistics can also be saved to the e-reporter database for later analysis. Optimized for Popular IDEs e-load is optimized for a number of popular Web development environments including BroadVision, NetDynamics, WebObjects, Cold Fusion and Microsoft ASP. These tools use variable session ID s and SSL, which pose problems for other load tools. e-load handles these environment features automatically. 6 e-load User Guide

Development-to-Deployment Testing with e-test Suite Development-to-Deployment Testing with e-test Suite Load and performance testing should not just be a one-time event prior to deployment. Instead it should become an integral part of the process of designing, building, and maintaining Web applications. Load testing can and should be used to validate the system architecture in the early stages of development, identify bottlenecks and benchmark the application during its development, and fine-tune the application for optimal performance prior to deployment. As the application and system infrastructure are modified over time, the standard set of performance benchmark tests developed should be re-run to ensure that performance has not been adversely affected. Even after the application is deployed, application performance should be continuously monitored to identify slowdowns and performance degradation before users experience problems. The following illustration shows the various phases of the development and testing cycle: Testing Phases Architecture Validation Performance Benchmarking Performance Regression Acceptance & Scalability Fine Tuning 24x7 Performance Monitoring Versions P1 P2 P3 P4 A1 A2 A3 B 1 B 2 FCS Development Phases Application Prototyping Application Development & Testing Application Deployment Responsible Departments Engineering Engineering & QA Operations Testing Cycles e-load is one component of the e-test suite, an integrated solution for testing e-business applications. Designed to deliver an immediate improvement in the quality of your software by offering repeatable, measurable results, The e-test suite helps you keep pace with the accelerated Web application development cycle. Chapter 1: Introduction 7

System Requirements The following shows where the components of the e-test suite are using the testing cycle: Testing Phases Architecture Validation Performance Benchmarking Performance Regression Acceptance & Scalability Fine Tuning 24x7 Performance Monitoring Versions P1 P2 P3 P4 A1 A2 A3 B 1 B 2 FCS Development Phases Application Prototyping Application Development & Testing Application Deployment Responsible Departments Engineering Engineering & QA Operations e-test suite e-tester e-load e-monitor ServerStats e-reporter e-test suite is fully integrated and is the first Web testing solution to leverage a single set of test assets from development through deployment, ensuring consistency in testing throughout the application life cycle and maximizing the return on investment for automated testing of your Web applications. System Requirements e-load has the following system requirements: E Operating System: Microsoft Windows NT 4.0, Windows 2000, or Windows 98 (e-tester and e-manager only). The e-test suite is NOT supported on Windows 95. E Recommended Memory: Minimum 64 MB; 128 MB recommended. E Disk Space: 100 MB. System: IBM-compatible PC with Pentium Pro or faster processor recommended 8 e-load User Guide

Chapter 2 Planning for Load Testing This chapter provides a basic methodology for testing the scalability 1 and performance of Web applications throughout the life cycle. It outlines the process for selecting the appropriate tools and the recommended steps to perform effective scalability testing. This chapter is broadly divided into the following sections: E Goals and Requirements of Scalability Testing: What should you aim to accomplish as a result of scalability testing for each phase of your Web application development. E Methodology: The process and the steps that are required to ensure performance and scalability throughout the application life cycle. E Test Planning and Execution: How you should plan and execute scalability testing during each phase of development. Goals of Scalability Testing The primary goals of a load test are as follows: 1. Determine the magic number for the Web application. E The magic number is the maximum number of concurrent users that the system can support while remaining stable and providing reasonable response time to users as they perform a variety of typical business transactions. E The magic number should be higher than the required number of concurrent users that the application must support when it is deployed. 1 Throughout this chapter the terms load testing, scalability testing and performance testing have been used interchangeably. 9

Goals of Scalability Testing 2. Determine client-side degradation and end user experience under load. E Can users get to the Web application in a timely manner? E Are users able to conduct business or perform a transaction within an acceptable time? E How does the time of day, number of concurrent users, transactions and usage affect the performance of the Web application? E Is the degradation graceful? Under heavy loading conditions, does the application behave correctly in slow motion, or do components crash or send erroneous/incomplete pages to the client? E What is the failure rate that users observe? Is it within acceptable limits? Under heavy loading conditions do most users continue to complete their business transactions or do a large number of users receive error messages? 3. Determine server-side robustness and degradation. E Does my Web server crash under heavy load? E Does my application server crash under heavy load? E Do other middle-tier servers crash or slow down under heavy load? E Does my database server crash under heavy load? E Does my system load require balancing, or if a load balancing system is in place, is it functioning correctly? E Can my current architecture be fine-tuned to extract better performance? E Should hardware changes be made for improved performance? E Are there any resource deadlocks in my system? 10 e-load User Guide

Phases of Scalability Testing Phases of Scalability Testing The following are the different phases of load and scalability testing for a Web application: Architecture Validation tests the scalability of the architecture, early in the development of a Web application, presumably after a prototype of the application has been created that can generate transactions to touch all tiers of the application. This allows the engineering organization to determine the viability of the architectural framework selected to build the Web application. Performance Benchmarking sets and creates the benchmark tests for the initial version of the application for all business transactions and gives the engineering and the quality assurance groups a set of metrics to quantify the scalability of the application. Based on the requirements specified, the development group will either maintain this scalability or improve upon it through the subsequent milestones. Performance Regression is the phase where the Web application is tested with the established benchmarks to ensure that the changes made to the application do not result in degradation of scalability. These tests are executed when key milestones have been reached or architectural modifications have been made during the development of the application. It is also common that the benchmark tests and the metrics originally set for the application be replaced or augmented with additional tests and newer metrics to reflect the improvements made to the application. Acceptance and Scalability Fine Tuning is the final load testing phase prior to the official launch of the Web application where all the different pieces of the Web application including the hardware, load balancing components and all software components are integrated and the scalability is validated. Different scenarios of real-life usage are emulated and the scalability of the final configuration is validated. These different scenarios are also used to configure the hardware and software components to yield optimal performance. Chapter 2: Planning for Load Testing 11

Criteria for Accurate Scalability Testing 24x7 Performance Monitoring After the application is deployed, it is essential to monitor the performance of the system under the real load generated by actual users so that crashes or slow-downs can be spotted before they become problematic. In this phase, data pertaining to real life usage can be collected to help refine future scalability tests for accurate emulation of load. Criteria for Accurate Scalability Testing In order to emulate a realistic load that will correlate with real-life usage of the application, a load-testing tool must: E produce load that stresses all tiers of a multi-tier application; E allow for the simulation of a realistic mix of different groups performing different types of business activities on the site during peak periods; E emulate page and resource request patterns produced by popular browsers such as Internet Explorer and Netscape; E validate the responses coming back from the Web server for each of the thousands of concurrent users to ensure that the correct pages are being returned by the Web application under stress; E allow for easy maintenance of the Visual Scripts as the application changes so that scalability can be re-verified each time that the system is changed. In addition, the following criteria are also important: E Dynamic Dial-up of users - this capability allows you to add new users to the load test without stopping the current test. For example, if you are running a 100 user load test and you will dynamically add another 100 users, you don t have to stop the load test and restart a new test with 200 users; E Real-Time Virtual User Debugger - the load testing tool should have some capability to allow you to visually monitor the progress of a user at any given point in time when the load test is in progress; E Real-Time Graphs that allow you to understand the scalability characteristics of the application as the load test is in progress; 12 e-load User Guide

Determine Additional Tools Required to Perform Testing and Diagnosis E allow for distributing load tests from a number of machines on the LAN/WAN with a central point of control; E allow the load tests to be executed with recorded think times, random think times (following some kind of statistical distribution), and with no think times; E measure response times of entire business transactions in addition to individual objects on pages such as sub-frames and images; E allow for simulation of different types of caching behaviors; E run data-driven tests to allow for unique concurrent users on the system; E allow for complex scheduling to allow for different scenarios of starting, stopping, and ramp-up; E provide reports and a performance database to allow for post-run analysis and comparison with previously established benchmarks. Determine Additional Tools Required to Perform Testing and Diagnosis Scalability testing requires several types of software tools for the various levels of testing and reporting/analysis of results. Before you can perform the testing, you need to familiarize yourself with the following software tools that will be used: e-tester used to create the various Visual Scripts that the virtual users will run. The Visual Scripts specify the actual steps used in performing the business transactions in the application. Thorough testing of an application may require many different Visual Scripts that exercise different areas (i.e. the business transactions). Visual Scripts are easily maintained over time as the application changes. e-load used to define virtual user profiles and scenarios and to perform the load test. e-load runs the Visual Scripts as multiple virtual users that test the scalability of the application. e-load defines the number and types of virtual users and which Visual Script(s) different virtual users run. It also provides real-time reports and graphs for evaluating the progress of the tests. Chapter 2: Planning for Load Testing 13

Determining the Hardware Needed to Execute the Tests e-reporter Reporter uses data recorded by an e-load test session to generate reports and graphs for post-run analysis of test results. ServerStats provides real time system monitoring for a variety of data sources for monitoring the impact of the load test on the individual servers (Web server, database server, application server, and system counters). For example, the load test many require monitoring software for a Netscape Web server, a ColdFusion application server, a Tuxedo server, and a mainframe data base server. In addition to e-test suite, you may need additional software tools for other specialized monitoring or reporting. Other System Monitoring Tools You should determine what other software tools may be necessary for monitoring the load test. Logging Tools You should determine what software tools will be used for logging transaction and performance data or logging errors. In addition, you will also need to gather data from other tools that monitor the state of different components in the application architecture. This will allow you to correlate the client-side degradation noticed during the scalability tests to one or more scalability problems with specific components of the application. Determining the Hardware Needed to Execute the Tests In order to execute a scalability test effectively, the appropriate hardware needed to run the test tools must be procured and configured. In order to generate the load on the Web application using thousands of concurrent users you must consider the following: Load Distribution Capability Does the load test tool allow for load to be generated from multiple machines and controlled from a central point? Operating System What operating systems does the load test master and the load generation agents run under? Processor What type of CPU is required for the master and virtual user agent? 14 e-load User Guide

Determining the Hardware Needed to Execute the Tests Memory How much memory is required for the master and virtual user agent? To insure that you have the appropriate hardware to execute scalability tests, ask your load testing tool vendor to provide you with the hardware requirements for the load test master and agent machines. General Rules of Thumb: E Windows NT 4.0/2000 are better suited to run load test virtual users than Windows 98, as they are more scalable and more stable operating systems. E If the CPU utilization of any workstation in the load test be it the load master or the load agents running concurrent users is higher than 70-80%, or the memory consumption is over 85%, the processes running on that workstation will experience operating system resource conflicts and the performance results from that test station will be skewed. E You should consider running the load master on a separate machine if possible. The machine that serves as the master typically needs a high performance CPU. The virtual users can run on one or more machines. These machines need to have sufficient memory to run a large number of virtual users. E To determine the number of virtual users that can be run on a machine, you can estimate based on the amount of memory each virtual user would consume. If the virtual users are running as threads within a process, on an average they consume 300-500 KB of memory. If the virtual users are running as separate processes within a process, on an average they consume 1024-2048 KB of memory. E A hardware configuration document is usually available from each test vendor that explains the hardware requirements for a particular load testing setup. Chapter 2: Planning for Load Testing 15

Who Should be Responsible for Load Testing? Who Should be Responsible for Load Testing? The following groups should have active participation in the load test: Development Engineers and Architecture Groups design and perform architecture validation tests and benchmarking criteria for the Web application. They work with the quality assurance groups to fine-tune the application and deployment architecture to perform optimally under load. In some large software organizations, dedicated performance architecture groups exist that are charged with building and maintaining scalable frameworks for Web applications. Quality Assurance Organizations design and execute development tests to verify correct operation of the application and acceptable performance. Integration and Acceptance Organizations design and perform integration tests that ensure all tiers and hardware operates together correctly before acceptance and deployment of the application. In most organizations, the quality assurance groups are charged with this responsibility as well. Monitoring and Operations Groups design and perform monitoring tests to ensure that the deployed application is available 24x7 and is not degrading under conditions of load or over long periods of regular usage. What to Avoid When Testing for Scalability Organizations performing scalability testing should avoid common pitfalls that guarantee incorrect results and potential failure. These include the following: E performing load tests on applications that are changing even as the tests are being performed; E performing load tests with applications that are not functionally tested so that even basic capabilities are not operational; E performing load tests on certain parts of the application that work and extrapolating the results to the entire application; 16 e-load User Guide

Performing Scalability Testing E performing load tests with a smaller number of concurrent users and extrapolating the result for larger numbers. Performing Scalability Testing The general process for performing scalability testing on a Web application is as follows: 1. Define a process that is repeatable for executing scalability tests throughout the application life-cycle. 2. Define the criteria for scalability. 3. Determine the software tools required to run the load test. 4. Determine and configure the hardware and environment needed to execute the scalability tests. 5. Plan the scalability tests. 6. Plan the test scenarios. 7. Create and verify the Visual Scripts. 8. Create and verify the load test scenarios. 9. Execute the tests. Define the Process 10. Evaluate the results against the defined criteria. 11. Generate required reports. The details for the above steps are explained in the following sections. Once the requirements for a load testing effort are defined, test planners need to define the process. In defining the process, test planners should consider the following issues and questions: Required Applications What application(s) will the load testing be performed against? Scheduling When will the testing be performed? What are the dates, times, build availability, and testing milestones that need to be met? Chapter 2: Planning for Load Testing 17

Performing Scalability Testing Personnel Who will perform the analysis, planning, test development, test execution, and evaluation? Which internal department personnel (for example, business analysts, network specialists, quality assurance engineers, and developers) will be involved? Will any third-party personnel (for example, tools vendor, Internet Service Provider, or testing lab) be required? Location Where will the testing be performed? Will testing be performed internally or at an external location such as at an Internet Service Provider or testing lab? Testing Environment What SW/HW environment will the load tests be run against? When specifying the testing environment, you should look for and avoid the following common pitfalls: E Application stability Application stability Make sure that the application is not being changed even as the load test is being undertaken. Quite frequently the entire application or parts of it are changed even as the application is being load tested. E Deployment environment Deployment environment Make sure that the environment under which the application is operating when the load test is being performed is very close to the real deployment environment, if not exactly the same. For example, if your requirement states that the load test has to be performed against an HTTPS server that is configured with enough horsepower to sustain heavy loads, you should not run it against a smaller server that is used by the development group. E Acceptance environment Acceptance environment As part of the acceptance tests that are run prior to shipping the product, you must make sure that the environment used to perform the load test is exactly the same as the live production environment (as defined in a specification document). Hardware Allocation Is the required hardware (network, master loadtest computer, agent computers, etc.) allocated and available for use? Testing vendors should be able to help determine the necessary hardware based on some of the following information: E number of virtual users or the desired throughput for the application as a whole (Transactions per second); E maximum or acceptable duration for each business transaction; 18 e-load User Guide

Performing Scalability Testing Define the Criteria E maximum or acceptable duration for delay between business transactions. Before you can begin planning for load testing, you need to define the criteria that indicate whether or not the application will be accepted and ready for live deployment. When defining the criteria, you should specify the following: Load to be Simulated What number of virtual users need to be emulated? This indicates the number of concurrent users on the Web server. Number of Business Transactions to Simulate How many business transactions are to be simulated for the load test? This is determined by the analysis of the application during requirements planning and may be specified as transactions-per-second (TPS), transactions-per-hour, or simultaneous user sessions. Types of Business Transactions to be Simulated What are the business transactions that need to be simulated (for example, read an account balance, make an account transaction, check account details, check contributions, etc.)? Criteria for Each Business Transactions Each Business Transactions For each business transaction you should determine the following: E Acceptable response time under various loads Acceptable response time under various loads What is an acceptable response time under various conditions of load. For example, what is the acceptable response time when running 100 virtual users? 200 virtual users? Also, what is the acceptable response time when running the maximum limit of virtual users. E Acceptable failure rate Acceptable failure rate What is the acceptable failure rate for all of the transactions and for each business transactions when under load? For example, zero failures allowed for up to 100 virtual users, 5% failures for 200 virtual users, etc. E Categories of users Categories of users What are the categories of users to simulate in the various transactions? Are they first time users or are they repeat users? First time users have a higher overhead on the Web server since all the images Chapter 2: Planning for Load Testing 19

Performing Scalability Testing must be downloaded. You can design and develop tests for both types of users and run combinations of load tests under differing conditions. E SSL and HTTP d HTTP Does testing require a combination of SSL and plain HTTP, only SSL, or only HTTP? E Browsers to simulate Browsers to simulate What browsers will be simulated in the load test? Will testing simulate Internet Explorer or Netscape (or both)? E Pacing mode Pacing mode What is the virtual user pacing that will be used for the load test? Will the testing be performed using recorded think times (that is, running with delays between pages that correspond to the same natural pauses that occurred while recording the script)? Should you try a worst-case stress test with no delays between pages? Or alternatively, should you use a random distribution of delays representing a range of user-speeds from expert users on T3 connections to novice users on slow modems? E Delay between business transaction action runs action runs What delay time will be included between business transaction tests, if any? E With or without images With or without images Will virtual users run with images or without images? Images constitute an additional load on the Web server. In many cases, you may want to perform load testing both with and without images for comparison. Overall Transactions-Per Per-Second Throughput Required What is the overall transactions per second (TPS) throughput required for the load test? This can be computed based on the number of simultaneous business transactions and the duration of typical transactions. Type of Error Handling What type of error handling is required when executing the load test? Does the load test need to be stopped on encountering certain types of error or just log the error and continue? What types of error logging do we need to enable for each concurrent user and for the different components in the application architecture? Type of Transaction and Performance Data Logging What type of transaction and performance data needs to be logged for the various scripts? 20 e-load User Guide

Performing Scalability Testing Planning the Scalability Tests Developing detailed test plans before you actually create the tests is an important step in making sure the tests conform to the business analysis of the application and the defined criteria. For each test that will perform a business transaction you need to plan and define the following information: Steps for Scripts Each Visual Script should have a detailed sequence of steps that define the exact actions a user would perform. Multiple Visual Scripts can be used to simulate a user completing a specific business transaction. For example, you can define a specific Visual Script that performs user login, several Visual Scripts that perform specific business transactions, and another Visual Script that logs users off. For each Visual Script, you should define the expected results. e-tester lets you quickly and easily record Visual Scripts that emulate a user s actions. Run-Time Data The test plan should specify any run-time data that is needed to interact with the application, for example, login user IDs, passwords, and other run-time data specific to the application. Data Driven Tests If the scripts require varying data at run-time, you ll need to have an understanding of all the fields that require this data. You also need to define the data sources and any tool(s) needed to either create fictitious data or extract real data from existing databases. Chapter 2: Planning for Load Testing 21

Performing Scalability Testing e-tester s Data Bank Wizard lets you specify and connect external data sources to the Visual Scripts. Planning the Load Test Scenarios In addition to the business transaction details for each Visual Script, the test plan should also specify the different user groups and test scenarios that will be required for load testing. For each test scenario you need to plan and define the following information: Type of User Is this user a first-time user of the application or a repeat user? This is important if the application responds differently for a first-time user than it does for a repeat user and places more stress on the server. e-load scenarios can specify either a first-time user or a repeat user. Transactions to Perform Which business transaction(s) will this user perform? In what sequence? If the application requires a first-time user to perform some type of registration, then the user profile for first-time users should include a registration Visual Script. Number of Users How many virtual users with this user profile will run over the same time interval? e-load lets you specify the number of virtual users for each test scenario. 22 e-load User Guide

Performing Scalability Testing Which System Which specific computer(s) will be used to generate the load for this user group? e-load can run virtual users on a single system or on multiple, distributed systems running e-load agents. e-load can specify which virtual user scenarios run on which workstations. Which Browser Which browser will this user group emulate? e-load can specify virtual user scenarios emulate either Internet Explorer or Netscape. Pacing mode What pacing mode will be used for the user group? Will the testing be performed using recorded think times, a range of times, or as fast as possible? e-load virtual user scenarios let you specify recorded, random, or no pacing. Delay Between Business Transaction Runs What delay time will be included between business transactions, if any? e-load lets you specify the amount of delay time between transaction runs. With or Without Images Will the user group run with images or without images? You may want to create different user groups that perform load testing both with and without images for comparison. e-load provides this capability. Create and Verify the Test Scripts After planning the Visual Scripts, you will use e-tester to create and verify each Visual Script. Create the Scripts This process is defined by e-tester (recording user actions) and the individual test plans for each script. When creating the Visual Script, you specify the following information as defined in the test plan: E user actions to perform E tests to perform E timers E data sources Verify the Scripts Once each Visual Script is created, you should verify that the script performs as expected and produces the desired result. Each Visual Script should be verified independent of any other scripts and in a controlled manner to simplify Visual Script debugging. Chapter 2: Planning for Load Testing 23

Performing Scalability Testing Create and Verify the Load Test Scenarios Once the individual Visual Scripts have been created and verified, you can create and verify the load test scenarios. It will save you a lot of time and aggravation if you perform a number of simple verification steps before your full-blown load test. Verify Visual Scripts with Multiple Virtual Users Before combining multiple Visual Scripts into a single load test scenario, you should verify that you can successfully run a single Visual Script as multiple virtual users. Each Visual Script should perform as expected as defined by the criteria for the application. e-load s Autopilot lets you run multiple scenarios with different virtual user characteristics. Verify distributed test execution on multiple machines You should verify the load test tool s ability to execute the individual Visual Scripts properly in a distributed environment if you plan to use multiple CPU s for load generation. This usually involves a master system controlling the virtual user execution on multiple workstations on the network. This can help you isolate any installation or networking-related issues. Verify real-life life scenarios that include one of each user group Before executing the full load test you should create and verify a scenario that includes one virtual user of each user group you wish to run at the same time. That is, before you run a test with 20 VU s of group A, and 20 VU s of group B, and 60 VU s of group C, you should first run one VU of group A, one VU of group B, and one VU of group C, and make sure that the results are as expected. 24 e-load User Guide

Performing Scalability Testing Create real-life life scenarios This process should be defined in the test plans for each scenario. When creating the individual scenarios, you specify the following information as defined in the test plan: E type of user E navigation/transactions to perform E number of users of each type E workstation used for load generation E browser emulation Execute the Tests E pacing mode E delay between transaction runs E with or without images E error log settings Once you have created and verified the basic load test scenarios above, you can begin to run the load test scenarios with many virtual users, and expect that the test results will be valid. Run basic tests to ensure scaling run test with a minimal amount of virtual users to ensure that the system scales up correctly. E Run individual business transactions Run individual business transactions Run each of the different business transactions starting with 10 virtual users scaling up to 25 50 virtual users. E Run combinations of business transactions nations of business transactions Run a combination of different business transaction scripts starting with 5 virtual users scaling up to 25 virtual users. If the above two scenarios execute without any problems, the next step is to execute the full load test with the full number of virtual users of each user-group type. Run the real-life life scenarios life scenarios Run each of the real scenarios as outlined in the previous steps: E Increase the scenarios up to the required number of simultaneous virtual users; E Monitor for any errors in the system. Chapter 2: Planning for Load Testing 25

Performing Scalability Testing Re-Run Run these scenarios with a real user While the load test is running, a real person should access the system through a standard browser and report performance observations: Evaluate the Results E Observe the degradation times for a real user; E Observe any errors if they are being reported back in the browser. For each of the load test scenarios, examine the following performance data and validate the results against the expected criteria: E Response times for groups of users at the different numbers of virtual users; E System throughput at various numbers of virtual users; E Any errors that may have occurred. e-test Console graph options let you evaluate performance in real-time. Save the erroneous HTML when problems occur to help the development group debug the errors. 26 e-load User Guide

Performing Scalability Testing Generate Analysis Reports Document the performance by generating the various reports that may be required for acceptance and deployment of the application. The following are some examples of the types of reports that can be generated from a load test: E Performance vs. Time E Users vs. Time E Statistics vs. Users E Statistics vs. Time E Errors vs. Users E Errors vs. Time E Any other error reports that may be required for the development group to debug and fix any problems that may have occurred. e-reporter graphs in the e-test Console lets you view performance and error data from the load test in multiple formats. Chapter 2: Planning for Load Testing 27

Summary Summary Load testing throughout the development cycle has become an essential part of the process of designing scalable, reliable Web applications. Developers and QA professionals now rely on load testing tools as a means to validate system architectures, tune applications for maximum performance, and assess the impact of hardware upgrades. Consequently, it is critical that the load test results can be used with confidence as the basis for key decisions about application readiness and potential changes to the system s hardware and software. Using the methodology embodied in this guide along with accurate load testing tools such as e-load, you now have a systematic approach to ensure the performance of your Web applications. With load testing established as a routine part of the application lifecycle you can be sure to avoid costly scalability surprises when your application goes live for the first time or after any subsequent release. 28 e-load User Guide

Chapter 3 e-load Basics Installing e-load This chapter explains how to get started using e-load. It explains how to install and start the program, and the features of the main window. The installation for e-load depends upon how you plan the virtual user test configuration. At a minimum, you need to install the e-load Controller on a single system that can access the Web application. If you are performing distributed testing in a networked environment, you need to install at least one station with e-load Controller to use as a Master station and install the e-load Agent (or another seat of the Controller) on the client machines to use as virtual user Browser stations. The following illustration shows the basic configuration for distributed testing: Controller Station Install e-load Controller Server Agent Stations Install e-load Agent The following sections explain the procedures for installing the e-load Controller and e-load Agent. 29

Installing e-load Installing e-load Controller The e-load Controller setup procedure installs both e-load Controller and e-load Agent. You should not install e-load Agent separately on the same workstation. There are two ways that you can install e-load Controller: 1. From the Empirix, Inc. Web site: http://www.empirix.com/empirix/web+test+monitoring/products /choose+form.html E Download the e-test suite product from the Web site and save it to a temporary directory on your hard disk. E Run ets###-ie#.exe and follow the setup instructions to install e-test suite. 2. From the CD: E Insert the e-test suite CD into your computer s CD-ROM drive. E In Windows, click Start Run and browse to the drive letter that corresponds to the CD-ROM drive. E Run setup.exe located in the root directory of the CD-ROM. 3. Follow the setup instructions to install the e-test suite. 4. Click Start Programs e-test suite e-load Controller. Installing e-load Agent Load to start the e-load The e-load Agent is a subset of the full e-load installation. You should not install the e-load Agent if you have the e-load Controller installed on the workstation. You install e-load Agent on the agent workstations (which should be Windows NT or 2000 machines) when you want to run distributed load tests in a network environment and you want the agent workstations to have more system resources available for running virtual users. To install the e-load Agent: 1. From the e-test suite CD: E Insert the e-test suite CD into the CD-ROM drive. 30 e-load User Guide

Installing e-load E In Windows, click Start Run and browse to the drive letter that corresponds to the CD-ROM drive. E Run setup.exe located in the root directory of the CD-ROM. 2. Follow the setup procedure to the Select Components and Installation Directory screen. 3. Clear the Java Support for e-test suite and the e-test suite check boxes. 4. Select the e-load Agent check box. 5. Click Next as necessary to complete the installation. 6. Verify network access from the Controller workstation to the Agent workstations and configure the Agent Workstations as explained in the next sections. Once the e-load Agent is installed and the Agent workstations are configured, you do not need to start or run an application. When you define your e-load testing scenarios using the e-load Controller, you specify which Agent machine to use to run the virtual users in the Workstation field of the Scenario tab. The e-load Controller automatically accesses the Agent when you start the e-load Autopilot. Verify Network Access to Agent Workstations Once you have the e-load Controller and Agent software installed on the individual workstations, you should verify network access between the Controller workstation and each Agent workstation. This section provides basic tips and techniques to make sure the e-load Controller workstation can successfully communicate with each Agent workstation. 1. Make sure that you have the e-load Agent software loaded on the Agent workstation(s) and that it is the same version as the e-test suite software that is loaded on the e-load Controller workstation. The workstations you plan to use as agents must have either the e-load Agent software or the full e-test suite installed to work as agents. Do not install both the e-load Agent software and the e-test suite software on the same workstation because resource conflicts between the two programs may occur. Chapter 3: e-load Basics 31

Installing e-load 2. Make sure you can successfully Ping all of the Agent workstations from the e-load Controller workstation. The names you use to Ping the workstations are the same names that you will specify for the Agent workstations in the e-load Controller. You can also use the IP addresses of the agent workstations. If you cannot successfully Ping the Agent workstations, contact your network administrator to resolve the issue. If you cannot Ping the Agent workstations from the e-load Controller workstation, you will not be able to run the agents from the controller. 3. Make sure that the same user is logged in on both the e-load Controller workstation and all of the Agent workstations. All of the Agent workstations must be logged in to be controlled by the e-load Controller workstation. You may be able to log in as a different user on the Agent workstations as long as the user login has the same administrative privileges as the user logged in on the controller workstation. 4. If the e-load Controller and Agent Workstations are not participating in the Domain security model, both the e-load Controller and the Agent Workstations must log in as Administrator and have the exact same password. 5. From the controller workstation, try mapping a drive on each of the Agent workstations using Windows Explorer. Depending on how your network is setup, the controller workstation may not be allowed to start up processes on the Agent workstations. The easiest way around this is to map a drive to the Agent workstation in order to authenticate with Windows. 6. In the e-load Controller, add a Visual Script to the Scenario Profiles list. Enter the machine name or IP address of the Agent workstation where you want to run the Visual Script into the Workstation field on the Scenario tab of e-load. 32 e-load User Guide

Main Window Features Main Window Features The e-load main window is where you perform the majority of your load/performance testing activities. The main window consists of the menu bar, toolbar, the controller tabs, a virtual user grid, and a status line. Controller Tabs Status Line The Title bar of the window shows the program name followed by the workspace name and the current scenario name. Chapter 3: e-load Basics 33

Main Window Features Overview of the Menu Options The e-load main menu has the following options: The following sections explain each of the menu options and show the associated tool bar buttons. File Menu These menu options let you work with e-load workspaces, scenario files, and profiles. The following options are available: New Scenario creates a new e-load scenario. Open Scenario opens an existing e-load scenario. Open Workspace opens a different workspace for storing scenario files, scripts, and output log information. You create and delete workspaces using the options on the Admin menu in e-tester. New Profile opens a window for creating virtual user profiles and synchronization points. Save Scenario saves any changes to the currently open e-load scenario. If the scenario has not been saved before, e-load asks for a filename. Save Scenario As saves the currently open e-load scenario using a different filename. Save Running As saves the currently running scenario to a file. Exit exits e-load. Edit Menu These menu options let you edit e-load profiles, copy and paste profile attributes, and delete profiles. The following options are available: Edit Profile opens a dialog box for editing an existing virtual user profile. Copy Profile Attributes copies the currently selected virtual user profile attributes for pasting into another virtual user profile. 34 e-load User Guide

Main Window Features Paste Profile Attributes pastes a copied set of virtual user profile attributes into the currently selected profile. Delete deletes the currently selected user-defined profile or Scenario profile. Delete All Virtual Users deletes all inactive virtual users from the virtual user grid. Refresh Workspace updates e-load with the latest Visual Scripts from the workspace. Run Menu These options let you control running of scenarios, virtual users, and the virtual user display. The following options are available: Autopilot provides options for controlling the Autopilot and scenarios. The submenu includes the following additional options: Submit Scenario submits the current scenario to the Autopilot but does not automatically start the scenario. Submit Scenario and Start submits the current scenario to the Autopilot and automatically starts the scenario. Start starts the current scenario in the Autopilot. Stop stops the currently running scenario in the Autopilot. Data Bank Control opens a dialog for setting Data Bank usage for virtual users. All Virtual Users provides options for controlling all virtual users in the currently running scenario. These menu options apply to all of the virtual users. The submenu includes the following additional options: Abort aborts all virtual users running in the current scenario. The Abort option halts the virtual users immediately without finishing playback of the Visual Script that the virtual users are currently running. Stop stops all virtual users running in the current scenario. The Stop option lets the virtual users finish playing back the current Visual Script before halting. Chapter 3: e-load Basics 35

Main Window Features Release Syncs issues go-aheads for all virtual users that are waiting at all synchronization points in the currently running scenario. Selected Virtual User provides options for controlling the selected virtual user in the virtual user grid. These menu options apply to the currently selected virtual user in the virtual user grid. The submenu includes the following additional options: Modify Run Attributes opens a dialog box for changing the run attributes of the selected virtual user. Start Viewing opens the virtual user display window for monitoring the selected virtual user. Abort aborts the selected virtual user. The Abort option halts the selected set of virtual users immediately without finishing playback of the visual script the virtual users are running. Stop stops the selected virtual user running in the scenario. The Stop option lets the selected set of virtual users finish playing back the current visual script before halting. Release Sync issues a go-ahead for the currently selected set of virtual users that are waiting at a synchronization point in the currently running scenario. Delete deletes the selected virtual user. Abort Session aborts the e-reporter data session. e-load stops submitting data to the e-reporter database. Terminate Agents closes all running e-load Agents. Scenario Report generates a report showing the currently specified Scenario Profile settings (i.e. number of virtual users, Browser emulation, workstation, etc) and the Autopilot rampup specifications. Session Report generates a report showing the run-time status, Profile settings, and Autopilot rampup specifications for the profiles that are currently running in the Virtual User grid. 36 e-load User Guide

Main Window Features Options Menu These selections let you set the preferences for e-load. The following options are available: Preferences opens a dialog box for setting the e-load preferences. Runtime Profiles opens a dialog box for setting the Profile Creation Attributes. Session Management opens a dialog box for specifying start and stop actions for Autopilot sessions and data reporting options for sessions. Customize Browsers opens a dialog for specifying custom browser emulation using a user-defined User-Agent string. Download Manager opens a dialog box for defining object download filters to use in Thin Client mode. Configure UNIX Clients opens a dialog for specifying authentication, remote shell, connection, and timing options for UNIX client agents. VU Licensing opens a dialog box for specifying license information for virtual users. This option appears only if you are using e-test suite floating licenses. Arrange Menu e-load automatically opens the e-test Console window when you submit and start a scenario in the Autopilot. The e-test Console window shows the e-load Performance Statistics and Load Graphs. You can use these selections to arrange the e-load and e-test Console windows. The following options are available: Tile Horizontally arranges the e-load and e-test Console windows one above the other. Tile Vertically arranges the e-load and e-test Console windows sideby-side. Cascade arranges the e-load and e-test Console windows one over the other. Arrange Now applies the selected Arrange menu setting. Chapter 3: e-load Basics 37

Main Window Features Tools Menu These options let you start the other tools in the e-test suite. The available options will depend upon what software you have installed on your system. The following options appear on the Tools menu: e-tester Tester starts the e-tester application for creating Visual Scripts that you can use in e-load. e-test Console starts the e-test Console for monitoring load graphs and server statistics. The Load component of the e-test Console lets you view performance statistics and real time graphs of virtual user or server/system performance. The ServerStats component of the e-test Console lets you select various types of data sources, such as BroadVision, Solaris, and ASP. You can also select the system statistics to monitor, such as CPU load, disk usage, and memory usage. Virtual User Display starts the virtual user display, which lets you monitor the progress of virtual users and view any errors virtual users may run into during playback. Help Menu These options let you access the e-load on-line help and technical support information. Contents opens the help system contents. Technical Support provides information on how to contact Empirix, Inc for technical support. Create Support Log creates a log file that Customer Support can analyze to troubleshoot specific problems. Contact Empirix Customer Support for information about using this service. About e-load e provides version, licensing, and serial number information. 38 e-load User Guide

Main Window Features Scenario Tab The Scenario tab is where you specify which virtual user profiles to include in the scenario. The Default Profiles Default Profiles list shows the e-tester Visual Scripts in the current workspace. The User-Defined Profiles e-load. Defined Profiles list shows the virtual user profiles created within The Scenario Profiles Scenario Profiles list shows the profiles selected for the current e- Load scenario. The Selected VU Profile Selected VU Profile settings show the current virtual user profile settings to use for the e-load scenario. For information about User-Defined Profiles, see Defining Virtual User Profiles in Chapter 4. For information about the Selected VU Profile settings see Defining Virtual User Scenarios in Chapter 5. Chapter 3: e-load Basics 39

Main Window Features Autopilot Tab The Autopilot tab is where you specify the information needed to control the running of the scenario. The Autopilot controls the starting and stopping of the scenario, the rate at which new virtual users are started, and shows the total number of virtual users and the number of running virtual users. You specify the session, start and stop times, and the virtual user rampup specifications for the Submitted Scenario Profile. The Autopilot tab also shows the list of virtual user profiles submitted in the e-load scenario. The Start and Stop Stop group is where you specify when the Scenario profiles should start and when they should end. The Rampup Specification Rampup Specification group specifies the rate at which the virtual users within the Scenario profile list should start. The Submitted Scenario Profiles Submitted Scenario Profiles list shows the virtual user profiles submitted to the Autopilot as part of the e-load scenario. The list also shows the number of virtual users specified for each profile, the number of virtual users remaining to be started, and other details of the Scenario run. For information about using the Autopilot, see Using Autopilot in Chapter 6. 40 e-load User Guide

Main Window Features Virtual User Grid The virtual user grid lists the currently running virtual users and the profile and playback details associated with each. Status Bar For information about using the virtual users grid, see Using Autopilot in Chapter 6. Note: Previous versions of e-load included tabs for viewing Performance Statistics and Load Graphs. As of e-test suite v5.1, the e-load Performance Statistics and Load Graphs have been moved into the e-test Console. The status bar provides the following status information: Scenario Mode Reporting Mode Virtual Users Running Autopilot Status Virtual User with Errors Chapter 3: e-load Basics 41

Setting Preferences Setting Preferences You can set Run Preferences, Error Handling, and Graph Display options using Options Preferences. Selecting this option opens the Preferences dialog box: The Preferences dialog box has the following options: Run Preferences specifies run options: E Timeout in seconds for VUs Timeout in seconds for VUs specifies the maximum amount of time a virtual user waits for the server to respond to a page request before timing out. E Maximum server connections Maximum server connections specifies the maximum number of server connections per process per server. Each VU makes multiple connections to request additional resources for images and additional frames for example. Setting this option specifies a limit on the total number of connections that the VUs can make to the server. 42 e-load User Guide

Setting Preferences E Max Number of VU Per Process Max Number of VU Per Process sets the maximum number of virtual users per single process. When running virtual users as threads in a single process, Max Number of VU Per Process sets the maximum number of virtual user threads in a single process. e-load spawns new processes if the number of virtual users exceeds the maximum number in any single process and runs the additional virtual uses as threads in the new process. Max Number of VU Per Process also limits the number of virtual users running in collapsed mode. When using collapsed mode, the Max Number of VU Per Process setting specifies the maximum number of virtual users that each line of the e-load Virtual User grid represents. The default setting (-1) is unlimited virtual users per process. E Use VU extension server Use VU extension server when selected, virtual users play back Visual Scripts that include the document.write() or document.writeln() methods in the HTML source. Select this setting when running virtual users in Thin Client user mode against pages that include the document.write() or document.writeln() methods. Clear this setting when running virtual users in Thick Client mode. E Only update VU at end of iteration Only update VU at end of iteration when selected, e-load updates the virtual user performance data in the tabs and virtual user grid only after a complete iteration of a virtual user profile. When cleared, the performance data is updated continuously while the virtual user profile is running. Select this option if you need to conserve system resources for use by the workstation running e-load Controller and do not need to have continuously updated performance data while the Autopilot session is running. E Auto generate timers for all pages Auto generate timers for all pages when selected, e-load automatically add timers for each Visual Script page for reporting. The timers are used in e-test Console and e-reporter to provide performance monitoring and timing information for each page of the Visual Script(s) played back by a virtual user profile. E Auto generate timers t for all resources imers for all resources when selected, e-load automatically adds timers for all resources for monitoring and Chapter 3: e-load Basics 43

Setting Preferences reporting purposes. Resources include objects downloaded from the server as specified in Options Download Manager. E Timer Display Specifier Timer Display Specifier specifies the user preferences for page timer names. Use this setting to customize the timer names that appear in e-reporter and WebReporter when Auto Generate Timers for All Resources (above) is selected. The following options are available: Valid Values f t n p o Description Optional. The file name (e.g. money.gif). Optional. The frame name (e.g. top). Optional. The page number (e.g. Page[2]). Optional. The profile name (e.g. MyScript). Default. Old style timer naming convention. This setting overrides all previous settings. (e.g. MyScript.Page[2]). Enter the values in the order you want the page timer names to appear. Separate each value using a comma. For example, p,f,t,n. Error Handling specifies the error handling options: E On error stop virtual user On error stop virtual user when selected, virtual users are stopped if an error is encountered. E On VU start error stop autopilot On VU start error stop autopilot when selected, the Autopilot stops if an error occurs when a virtual user is starting. E Image download errors are fatal Image download errors are fatal when selected, an image download error is considered a fatal error. E Zero length downloads are fatal Zero length downloads are fatal when selected, a server response that indicates zero bytes length is considered a fatal error. e-test Console Configuration specifies where the e-test Console is installed. Use the e-test Console to view performance statistics and real time graphs of performance data from e-load agents running virtual users. E Location Location specifies the server name where e-test Console is installed. E Data Collection Interval (sec) Data Collection Interval (sec) specifies how often the aggregate the e-load agent performance data. 44 e-load User Guide

Setting Runtime Profiles Setting Runtime Profiles You can specify the default profile characteristics for graphing and reporting in the e-test Console using Options Runtime Profiles Selecting this option opens the Runtime Profiles dialog box: Runtime Profiles. Selected attributes are included for graphing and reporting in the e-test Console. For example, if you are running two profiles emulating different browsers, check the Browser Emulation attribute to view separate plot lines in the e-test Console graphs for each browser. Chapter 3: e-load Basics 45

Using the Download Manager Using the Download Manager The Download Manager lets you specify which types of objects to download in e-load Thin Client user mode. You can use the Download Manager to specify background images, ActiveX, CAB, JAR, CSS, Flash, Applets, and JavaScript library files. To specify objects, you define the HTML tags and attributes to use to filter references from other HTML in the page source. Download Manager filtering is enabled when the Use Download Manager option is selected for the Scenario Profile. Selecting Options Download Manager opens the Download Manager. The Download Manager has the following options: Existing Filters lists the defined download filters. E -> (pointer column) shows the currently selected filter. Click on a filter row to make it the currently selected filter. E E shows if the filter is enabled or disabled within the Download Manager. Filters marked with an X are enabled and will be used to download objects. E Tag Name Tag Name specifies the selected HTML tag. 46 e-load User Guide

Using the Download Manager E Attribute Name Attribute Name specifies the selected attribute used to identify which specific tag among all tags of the same tag name. E Attribute Value Attribute Value specifies the value for the specified attribute name used to identify which specific tag. E Download Download specifies which attribute identifies the file to download. Filter Configuration defines specific filter options to use for each download filter. The filter options identify specific tags and attributes in the HTML source that reference the object(s) to download. Set the following options and add the filter to the Existing Filters list. E Enable Enable enables the filter in the Download Manager. You can add filters to the Existing Filters list even if they are not enabled. You can select filters in the Existing Filters list at any time to enable or disable them for specific tests. E Tag Name Tag Name specifies the HTML tag to use to locate an object within the HTML source. E Attribute Name Attribute Name specifies the name part of the name/value pair that identifies the specific Tag among all tags of the same Tag Name. Select the attribute name to use to identify the tag(s) in the HTML source. E Attribute Value Attribute Value specifies the value part of the name/value pair that identifies the specific Tag among all tags of the same Tag Name. Specify the attribute value to use to identify the tag(s) in the HTML source. E Download Download specifies the tag attribute that identifies the object to download. For example, IMG tags reference the image filename using the SRC attribute. Add adds the specified tag name, identification attributes, and download attribute to the Download Manager Existing Filters Existing Filters list. Modify changes the selected filter in the Existing Filters list to the current settings in the Filter Configuration. Remove Remove removes the currently selected filter from the Existing Filters Existing Filters list. Chapter 3: e-load Basics 47

Setting UNIX Client Options To use the Download Manager: 1. Determine which types of files you want e-load Thin Client to download. 2. Select the Enable check box if you want to define and enable the download filter for use in Thin Client. Clear the Enable check box if you just want to define a filter for future use but not enable it right away. 3. Select the HTML tag name that has an attribute that references the object to download. 4. Select the tag attribute name to identify specific HTML tags. 5. Select the tag attribute value that identifies specific HTML tags. The Download setting shows the tag attribute that references the object to download. 6. Click Add to add a new filter or Modify to change an existing filter. OK. 7. Click OK 8. Make sure that Download Objects is selected for the Scenario Profile to use Download Manager filters. Setting UNIX Client Options You can set the options for e-load clients running on UNIX workstations using Options Configure UNIX Clients. Selecting this option opens the UNIX Client Options dialog box. The UNIX Client Options dialog box has the following options: Authentication specifies the user authentication information for the UNIX workstation. E Username Prompt Username Prompt specifies the user name prompt you expect to see on the UNIX workstation for user authentication. The default is ogin:, which are the last five characters of the default Telnet login prompt. 48 e-load User Guide

Setting UNIX Client Options E User name User name specifies the user name to use to log in to the UNIX workstation. Enter a user name for e-load to use for the UNIX client login. E Password Prompt Password Prompt specifies the password prompt you expect to see on the UNIX workstation for user authentication. The default is word:, which are the last five characters of the default Telnet Password prompt. E Password Password specifies the password to use to log in to the UNIX workstation. Enter a password to e-load to use as the UNIX client password. Remote Shell specifies the remote shell prompt and shell type. E Prompt Prompt specifies the prompt character(s) used by the remote shell. E Bourne-like shell (sh, bash, etc) like shell (sh, bash, etc) select this option if the UNIX workstation is using a Bourne shell type. E C-like shell (csh, tcsh, etc.) like shell (csh, tcsh, etc.) select this option if the UNIX workstation is using a C shell type. Log specifies if a log file is generated. E Generate log file for starting UnixPro Generate log file for starting UnixPro when selected, the UNIX client creates the log file shellog.htm in the installation directory. Connection specifies how e-load should connect to the UNIX workstation. E Controller as the connection server (Windows socket listening) Controller as the connection server (Windows socket listening) when selected, e-load Controller uses any available socket opened by the NT workstation where the e-load is running. If Use fixed agent listening port is also selected, e-load controller uses the defined fixed port. E Agent as the connection ction server (UNIX socket listening) ction server (UNIX socket listening) when selected, e-load Controller uses any available socket opened by the UNIX workstation. If Use fixed agent listening port is also selected, e-load controller uses the defined fixed port. E Fixed agent listening port Fixed agent listening port when selected, e-load uses a fixed port number for the connection between the controller and the UNIX workstation. Select this option to use a specific port number in order to bypass a firewall. Enter the port number. Chapter 3: e-load Basics 49

Virtual User Licensing Timing specifies the default timeout value. E Timeout (milliseconds) Timeout (milliseconds) specifies the maximum amount of time to wait for a server response before timing out. Start Arguments A rguments specifies any optional arguments to pass to a Java application running on the UNIX workstation. E Java Options Java Options enter the Java options to use with the Java application. For example, -checksource, -verbose, -verify, etc. See the UNIX man pages for Java for additional information about the available options. E Parameters Parameters reserved for future use by e-load for classname <args>. Restore Defaults restores the default UNIX client settings. Virtual User Licensing You can set the number of Virtual User licenses to be used by the e-load Controller using Options VU Licensing. This option only appears if you are using e-test suite floating licenses. Selecting this option opens the Virtual User Licenses dialog box: Locally Licensed VUs specifies the number of Virtual User licenses available on the e-load controller local workstation. Available Floating VUs specifies the number of available server-based Virtual User licenses. Server-based licenses are floating licenses that be accessed for use by multiple e-load Controller installations. Total VUs to claim specifies the total number of Virtual User licenses to use for a load test being run by this installation of the e-load Controller. Floating licenses being used by this installation of the e-load Controller are not available for use by other e-load Controller installations until after this e-load Controller finishes its load test and releases the licenses. 50 e-load User Guide

Chapter 4 Defining Virtual User Profiles Default Profiles This chapter explains how to define virtual user profiles for use with e-load scenarios. Virtual user profiles specify the series of actions to perform on a Web site or application, which are recorded in e-tester Visual Scripts. Visual Scripts that you record using e-tester are default virtual user profiles. When you open a Workspace in e-load, any e-tester Visual Scripts in that Workspace appear in the Default Profiles list of the Scenario tab in e-load. e-tester Visual Scripts are Default Profiles You can include any e-tester Visual Script in the Scenario Profiles list to play back the Visual Script as virtual users. 51

Creating User-Defined Profiles Creating User-Defined Profiles User-defined virtual user profiles allow you to combine multiple Visual Scripts as a single virtual user profile. User-defined profiles must be specifically defined in e-load and appear in the User-Defined Profiles of the Scenario tab. Defined Profiles list User-Defined Profiles Can Combine Visual Scripts and Sync Points In a user-defined profile, you can specify certain Visual Scripts to use as prolog, epilog, and error scripts. You can also insert synchronization points into a user-defined profile. Creating a New Virtual User Profile 1. Select File File Open Workspace. 2. Select the Workspace where your Visual Scripts are located and click OK. The available Visual Scripts appear in the Default Profiles list of the Scenario tab. 3. Select File New Profile. e-load opens a dialog box for specifying the new profile. The dialog box shows the available Visual Scripts and the default synchronization points. 52 e-load User Guide

Creating User-Defined Profiles 4. Enter a name for the profile in the Name editbox. 5. The profile sections tree allows you to specify which Visual Scripts and synchronization points to include in the Sections tree of the profile. Prolog the Visual Scripts in this section play back only once at the beginning of the Scenario run. An example of what you may add to this section is a login script. Run the Visual Scripts in this section iterate over as many times as is specified in the Autopilot. An example of what you may add in this section is the business transaction that you wish to load test. Epilog the Visual Scripts in this section play back only once at the end of the Scenario run. An example of what you add to this section is a logoff script. Chapter 4: Defining Virtual User Profiles 53

Creating User-Defined Profiles Errors the Visual Scripts in this section play back only if an error occurs during the Scenario run. An example of what you may add to this section is a Visual Script that resets your application on an error. Adding Visual Scripts to the Sections Tree 6. Select the section in the tree where you want to add a Visual Script. 7. Double-click the Visual Script to add to the section or select the script and click the arrow button. The Visual Script appears as a node of the tree. 8. Repeat steps 6 and 7 to add additional Visual Scripts to the Sections tree. Adding Synchronization Points to the Sections Tree NOTE OTE: A sync point allows multiple virtual users to synchronize their actions and interactions with the application under test. Sync points provide the ability to create realistic multi-user situations that may expose resource conflicts such as deadlocks. When you specify a sync point, multiple virtual users executing the script will reach this sync point at various times depending on a number of factors (for example, the speed of the machine, the number of pages in the Visual Scripts, and server response times). Sync points cause each virtual user to wait until all virtual users have reached that sync point. Each of the virtual users notifies the master upon reaching the sync point. The master waits for all of the virtual users to notify it and then issues the go-ahead for all the virtual users to continue past that sync point. 54 e-load User Guide

Creating User-Defined Profiles 9. Select the section in the tree where you want to add a Sync point. 10. Double-click the Sync point to add to the section or select the Sync point and click the arrow button. The Sync point appears as a node of the tree. 11. Repeat steps 9 and 10 to add additional Sync points to the Sections tree. Moving Items in the Sections Tree When you have multiple items under any section of the tree, you can move the items up and down within that section. 12. Select the item to move in a section. 13. Click the up or down button as appropriate. 14. Click the OK button when you have finished defining the profile. Chapter 4: Defining Virtual User Profiles 55

Creating User-Defined Profiles 15. The new profile appears in the User-Defined Profiles list of the Scenario tab. Editing User-Defined Profiles After you have created a user-defined virtual user profile, you can make changes to the profile at any time. 1. Select Edit Edit Profile. e-load opens a dialog box for editing the sections tree of the profile. The dialog box shows the current sections tree and the available Visual Scripts and the default synchronization points. 2. Click the icons to expand the nodes of the tree. 3. Use the arrow buttons as necessary to add or remove items from sections of the tree. 4. Click the OK button when you have finished editing the profile. 56 e-load User Guide

Creating User-Defined Profiles Creating New Synchronization Points In any user-defined profile, you can add new synchronization points. 1. Select Edit Edit Profile. e-load opens a dialog box for editing the profile. The dialog box shows the current sections tree and the available Visual Scripts and the default synchronization points. 2. Click the New Sync button. e-load opens a dialog box for specifying the synchronization point name and the maximum wait time. 3. Set the following options: Name specifies the name of the Synchronization point. Release trigger specifies the percentage of virtual users that must be waiting before they are released. For example, if ten virtual users are running and the release trigger is set to fifty percent, then the waiting virtual users are released when five of them are waiting. Setting the value greater than one hundred percent causes the virtual users to wait until they are manually released. Open gate time specifies the amount of time to keep the release open after it has been triggered. Maximum Wait specifies, per individual virtual user, the maximum amount of time, in seconds, that the synchronization point will wait before releasing the virtual user. 4. Click OK to close the user-defined profile. Chapter 4: Defining Virtual User Profiles 57

Creating User-Defined Profiles Editing Synchronization Points In any user-defined profile, you can change the maximum wait value for the synchronization points. 1. Select Edit Edit Profile. e-load opens a dialog box for editing the profile. The dialog box shows the current sections tree and the available Visual Scripts and the default synchronization points. 2. Select the sync point you want to edit. 3. Click the Edit Sync button. e-load opens a dialog box for changing the options. OTE: You cannot change the name of a synchronization point. NOTE OK. 4. Edit the maximum wait value, and then click OK 5. Click OK to close the user-defined profile. 58 e-load User Guide

Chapter 5 Defining Virtual User Scenarios This chapter explains how to define virtual user scenarios based upon the virtual user profiles. Defining Scenarios Virtual user scenarios specify the following attributes for each profile: E number of virtual users to simulate E the workstation on which the virtual users will run E which browser to emulate E the delay time between virtual user iterations E pacing of the visual scripts E type of user to simulate E object downloading E use of Data Banks E error handling for virtual users E setting up virtual users for viewing in the Virtual User Display component The following sections explain how to specify virtual user scenarios. 59

Defining Scenarios Selecting Profiles Once you have a set of virtual user profiles, you can define e-load scenarios to run performance and load testing on your Web pages or application. Virtual user profiles can be either default profiles (basic e-tester Visual Scripts) or user-defined profiles created in e-load. Scenario name Scenario Profiles Visual Scripts (Default Profiles) User-Defined Profiles To add profiles to the Scenario Profiles Scenario Profiles list: Select the profile in one of the profile lists (default or user-defined) and click the right-arrow button. You can also double-click the profile names in the profile list to add the profile to the Scenario Profiles To remove profiles from the Scenario Profiles Scenario Profiles list: Scenario Profiles list. Select the profile in the Scenario Profiles list and click the left-arrow button. You can also double-click the profile names in the Scenario Profiles list to remove the profile from the list. 60 e-load User Guide

Defining Scenarios Specifying Scenario Profile Attributes Once you select the profiles to include in the scenario, you can specify the Scenario attributes for each profile. To set the attributes for a Selected Profile: Scenario Profile Attributes 1. Select the profile name in the Selected Profiles List. 2. Set the following attributes: Selected VU Profile shows the name of the profile selected in the Scenario Profiles list. The attributes you set are specific to the selected profile. Number of Virtual Users specifies the number of virtual users to run for the selected profile. For each virtual user, e-load runs a separate instance of the Visual Script(s) specified in the virtual user profile. Delay Between Iterations specifies the amount of time (in seconds) to wait between iterations of virtual user runs. You specify the number of iterations using the Autopilot. Chapter 5: Defining Virtual User Scenarios 61

Defining Scenarios Virtual User Pacing specifies the Visual Script playback delay for each virtual user. There are three options: E Recorded Recorded uses the delay times that were recorded in the e-tester Visual Script. You can set minimum and maximum delay times (in seconds) that override the Visual Script delay times in the Minimum Maximum edit boxes. E Recorded/Rnd Minimum and Recorded/Rnd uses random delay times based upon the recorded user delay. e-load sets the low end of the random range as the actual user delay minus the Lower percentage setting. e-load sets the high end of the random range as the actual user delay plus the Upper percentage setting. For example, if the actual recorded delay time was 100 seconds and the Lower and Upper settings are 10% and 25% respectively, e-load uses random delay times between 90 and 125 seconds. E Random Random uses random times for Virtual User pacing. You can set minimum and maximum delay times for random in the Minimum Maximum edit boxes. E No Delay Minimum and No Delay plays back the Visual Scripts at the fastest possible speed. Workstation specifies the machine on which the virtual users will run. When running virtual users across workstations on a LAN/WAN, enter the machine name of a workstation running either e-load Controller or e-load Agent. Initially, you must type in the name of the workstation(s). Once the name(s) have been specified, you can select the workstation name from the drop-down list for future load tests. Browser Emulation specifies the type of browser to emulate. You can select the specific type and version from the list. You can also add custom browser types using Options Customize Browsers. Connection Speed specifies the line speed to simulate for the virtual user s Internet connection. Set a speed if you want the virtual user to simulate a dial-up connection using a modem or other connection. Set the speed to True Line Speed if you want the virtual user to run using the actual connection speed. 62 e-load User Guide

Defining Scenarios Caching Type specifies the type of user to simulate. This is useful for simulating different profiles of virtual users. A first time user places more of a load on the Web server because pages and images are not yet cached. A repeat user places less of a load on the server as only newer pages are requested and brought down from the Web server. There are two options: E First Time User U ser the virtual users are considered to be using the Web site or application for the first time. E Repeat User Repeat User the virtual users are considered to have visited or used the Web site or application previously. Pages and images are retrieved from the cache. User Mode the mode in which to run e-load virtual users. The following options are available: E Thick Client ick Client the virtual users run using full browser capabilities. This mode requires more resources and is less scalable than Thin Client, and should only be used in special cases. Reasons for using Thick client may include Web pages that require large amounts of client side processing. See the next section for information about determining the number of virtual users that can be run in Thick Client. E Thin Client Thin Client a less resource intensive method that provides a high level of Web compatibility and Visual Script verification. Thin Client mode consumes fewer system resources per process than Thick Client, and is able to run more virtual users on a given agent workstation. See the next section for information about determining the number of virtual users that can be run in Thin Client. E Fast Client Fast Client this mode is optimized to run virtual users faster and allow more virtual users per agent workstation than Thin Client. Fast Client mode provides a lower level of Visual Script verification than Thin Client and is used for scalability testing of servers. When testing server scalability using Fast Client, it is recommended that some number virtual users also be run in Thin Client mode as away of verifying Web page content. E Minimal Client Minimal Client the virtual users run using the minimum amount of client overhead. Minimal Client mode provides a minimal level of Visual Script verification to eliminate bandwidth issues and simulate a stronger than normal load on back-end systems. Chapter 5: Defining Virtual User Scenarios 63

Defining Scenarios E UNIX Client UNIX Client the virtual users run on the specified UNIX Workstation. Set the options for e-load clients running on UNIX workstations using Options Configure UNIX Clients. When determining the number of virtual users to run per process or system, you need to include the Client overhead in the resource allocation. Run VUs in Separate Processes when selected, all virtual users run as separate processes. When cleared, all virtual users run as threads inside of one process. Cleared is the most efficient way of running virtual users and consumes the smallest amount of system resources. Use this setting in the following few cases of load testing: E If running in Thick Client and your Web application uses cookies to manage session and other context information. E Your Web application uses client-side certificates, rather than the more common server-side certificate. E Your test involves IP spoofing, where only one IP per virtual users is to be assigned. Use Cookies when selected, the virtual user profiles will use cookies. Use this setting if your Web application uses cookies to manage session and other context information. This setting is used together with the Run VU's in Separate Processes setting. Use Download Manager when selected, filters specified and enabled in Options Download Manager will be used to download objects as part of virtual user playback. Downloaded objects will be included as e-reporter timers if you have Auto generate timers for all resources selected in the e- Load Options Preferences and save data for reporting. Use Databanks when selected, Visual Scripts that have e-tester Data Banks will use the Data Banks as part of the virtual user playback. When cleared, Visual Scripts playback using the recorded data rather than the Data Bank. Use VBA and Scriptlets when selected, e-load runs Custom VBA Tests, Test Scriptlets, and External Callout tests included in e-tester Visual Scripts. See the e-tester User Guide for more information about using Custom VBA Tests, Test Scriptlets, and External Callout tests with e-tester. 64 e-load User Guide

Defining Scenarios VU Display Ready when selected, this profile of virtual users are setup to be viewed immediately in the virtual user display. The virtual user display is a separate browser-type window where you can view the actions of specific virtual users. If VU Display Ready is cleared, and you choose to view the progress of a (or a set of) virtual users at run-time, there will be a delay for the initial communication to be established between the simulation servers and the virtual user display. Pages start to appear in the virtual user display after that initial delay. On Error View HTML when selected, the virtual user display automatically opens and shows the page with errors that was returned by the Web server. Use IP Spoofing when selected, e-load uses different IP addresses for Virtual User agents. Each virtual user must get a defined IP address. You must define the IP addresses available for use by e-load Agents in the TCP/IP network protocols of the workstation. All IP addresses must be added to each Agent workstation. When using IP spoofing, the virtual users must be run in separate processes. See the Using IP Spoofing with e-load section later in this chapter for additional information. Use Custom Tests when selected, e-load runs e-tester Text Matching and Server Response tests in Thick Client user mode. This option is only enabled when Thick Client user mode is selected. Chapter 5: Defining Virtual User Scenarios 65

Determining the Number of Virtual Users Determining the Number of Virtual Users The number of virtual users that can run reliably and provide accurate performance data for your application depends upon several factors: E The User Mode (type of client browser) setting for the virtual user; E Resources required by the application; E Number of machines being used for the load test; E Amount of memory on each machine; E Operating system being used; E CPU utilization. The general rules of thumb for determining the number of virtual users are as follows: E Keep CPU usage below 90% for each workstation in the load test, including the e-load Controller and each agent workstation. E Keep memory consumption for each workstation in the load test below 70-75% of the physical amount of memory in each workstation. That is, keep the number of virtual users below where page swapping of memory takes place. E The User Mode User Mode setting on the Scenario tab of e-load affects the amount of memory overhead required for each Virtual User process (single or separate). Thick Client requires more system resources per Virtual User than Thin Client. The application being tested will also affect the memory requirements for virtual users depending upon the size of the Visual Script and design of the Web applications. Web applications using scripts or applets may require additional memory. E If you need to run more virtual users for your load test than CPU usage or memory limits provide for, you should add more physical memory to a workstation, or add additional agent workstations. You can use system performance monitoring tools, such as Performance Monitor or Task Manager in Windows NT or 2000, to determine system resource usage. 66 e-load User Guide

Managing Sessions Managing Sessions Sessions specify the scope for e-load data collection and reporting. The data collected while the Autopilot is running virtual users is shown in the virtual user grid, ServerStats runtime performance statistics and load graphs, and can be saved to a database for post-testing analysis in e-reporter. You can specify default settings for how sessions start and end data collection using Options Session Management. Selecting this option opens the Session Management dialog box: Set the following options: Define How a Session Ends defines how a session ends. When a session ends, e-load stops updating runtime data in the performance statistics and load graphs in ServerStats, and the e-reporter database (if Save data for reporting is used). Subsequent Autopilot runs start a new session for data collection and reporting purposes. E Stop on last VU completion Stop on last VU completion when selected, the session ends when the last virtual user has finished the run in the Autopilot. Chapter 5: Defining Virtual User Scenarios 67

Managing Sessions When a New Session Starts on Starts defines actions for a new session. E Delete inactive users from running grid Delete inactive users from running grid when selected, all inactive virtual users are automatically deleted from the virtual user grid when a new session starts. Data collection and reporting will be based upon the new virtual users that run in the new session. E Resize windows Resize windows when selected, the e-load and e-test Console windows are resized and rearranged to fit all e-load runtime data windows. E Save data for reporting Save data for reporting specifies if virtual user data is saved for post testing analysis reports using e-reporter. The following options are available: 'No No the virtual user data is not saved. 'Yes Yes the virtual user data is saved to the e-reporter database. You can use e-reporter at a later time to generate reports and graphs for analysis. 'Ask Ask e-load opens a dialog box that gives you the option to save the data each time you start a new Autopilot session. E Reonfigure ServerStats Reonfigure ServerStats specifies if you want to select the ServerStats configuration file to use before starting playback of virtual users in the e-load Autopilot. ServerStats is saved for post testing analysis reports using the e-test Console and e-reporter. The following options are available: 'No No the most recent ServerStats configuration file is used to save server statistics for reporting. 'Ask Ask e-load opens a dialog box that gives you the option to select which ServerStats configuration file to use. You can create multiple configuration files for use with ServerStats that specify which servers and counters to monitor. 68 e-load User Guide

Managing Sessions E Assign new session name Assign new session name specifies if a new session name should be assigned when a new session starts. There are two options: 'Auto Auto e-load automatically assigns a name to the session data stored in the e-reporter database. 'Ask Ask e-load opens a dialog box for specifying a name for the session data stored in the e-reporter database. When a Session Ends defines the actions for the end of a session. E Terminate all agents Terminate all agents when selected, all e-load agents automatically close when a session ends. E Generate reports Generate reports specifies if e-reporter should generate a report when an Autopilot session ends based upon the session data. There are three options: 'No No e-reporter does not generate any report. You can use e-reporter at a later time to commit the data to the database and generate reports and graphs. 'Yes Yes e-reporter automatically starts, commits session data to the database, and generates the default report specified within e-reporter. 'Ask Ask e-load opens a dialog box that gives you the option to generate reports in e-reporter after an Autopilot session finishes. Chapter 5: Defining Virtual User Scenarios 69

Using Data Banks with e-load Using Data Banks with e-load e-load virtual users can play back Visual Scripts that access a Data Bank. You enable Data Bank access by selecting the Use Databanks check box in the Scenario tab for the selected virtual user profile. The virtual user must use a Visual Script that has parameters that are mapped and bound to a Data Bank file. Using the Data Bank Control You can use the Data Bank Control to view data bank records and set e-load preferences. To use the Data Bank control: 1. Add a Visual Script or User-Defined Profile that uses a Data Bank to the Scenario Profiles list. 2. Select the Use Databanks anks option. 3. Select other Scenario Profile options as needed. 4. Submit the Scenario to the Autopilot (without starting the Autopilot). 5. Select Run Bank Control. Run Autopilot Data Bank Control 6. Select the Data Bank in the tree view. Data Bank Control. e-load open the Data 7. Use the arrow buttons or enter a record number and press Enter to set the current record. 8. Select Preferences to set the how to use the Data Bank records per e-load Agent. The following options are available: Visual Script and Data Bank tree view lists the Visual Scripts and Data Bank names. Select which Data Bank to view. Variable Name lists the names of the Data Bank variables. Value list the values of the Data Bank variables. 70 e-load User Guide

Using Data Banks with e-load Type Mapped. Type shows the type of Data Bank variable: Internal, External, or Not Record # shows the current Data Bank record number. You can change the current record using the arrow buttons or by entering a record number and pressing Enter. Search searches for a Data Bank record by variable value. Preferences opens the Data Bank Preferences dialog box. Setting Data Bank Preferences You can specify default settings for how sessions use Data Banks using Preferences option in the Data Bank Control window. Selecting this option opens the Session Management dialog box: Set the following options: Record buffer size per Agent specifies the number of Data Bank records allocated to each e-load Agent. Use Only First Record specifies that only the first record be used. Use this setting if you want each virtual user to keep the same data for each iteration. Stop After All Records Used specifies that the virtual users use data until a repeat record is reached and then stop. Stop After Last Record Used specifies that the virtual users stop when the end of the data bank has been reached. Loop Using All l Records specifies that the virtual users cycle through the data bank records until the load test finishes. Chapter 5: Defining Virtual User Scenarios 71

Using UNIX Clients Using UNIX Clients To use UNIX clients: 1. Set the UNIX options in Options 2. Select a virtual user profile. 3. Configure Session settings. Options Configure UNIX U Clients. 4. Enter the IP Address of the UNIX workstation in the Workstation field of the Scenario tab. User Mode list. 5. Select Unix Client from the User Mode 6. Submit and start the Scenario in the Autopilot. Note: If UNIX client options are configured properly and e-load is able to login and access the UNIX workstation, e-load transfers the UNIX agent files and starts the agent automatically. If e-load is unable to connect to the UNIX workstation, see the UNIX Client Troubleshooting tips below. UNIX Client Troubleshooting Tips When using the UNIX Client user mode in e-load, you may need to debug issues if there are problems trying to connect to the UNIX workstation and start up remote virtual users. For UNIX Agents, the e-load Controller should be able to automatically connect to the UNIX workstation, check for or transfer the required agent files, and then start the agent on the workstation. If for some reason the e-load Controller is unable to start an agent on a UNIX workstation, e-load logs Status messages to help in debugging any problems in starting up virtual users on UNIX workstations. The messages appear in the Status column of the e-load Virtual User grid. For example, waiting password prompt indicates that e-load has sent the username prompt but has not received a password prompt yet. Use the following steps to manually verify the setup. 72 e-load User Guide

Using UNIX Clients Connection and Agent Start Up 1. Open a Telnet connection to the UNIX workstation. 2. Enter your login and password. 3. Check for the existence and correct version of the e-load UNIX agent files. The following files should be located in the root of the UNIX workstation: E jcnet.jar E jnet.jar E regexp.jar E rswunix.jar E jsse.jar If necessary, copy the files from the e-load Controller workstation to the UNIX workstation. 4. Start the UNIX agent process to run the remote VU s Sun Secure Socket Layer In order for Sun s SSL to work in UNIX, you may need to modify the following file: $java_install_dir\jre\lib\security\java.security Open the the java.security file and look for the following entries: security.provider.1=... and security.provider.2=... and... security.provider.n=... Add the following entry to the file: security.provider.n+1=com.sun.net.ssl.internal.ssl.provider Chapter 5: Defining Virtual User Scenarios 73

Using IP Spoofing with e-load Using IP Spoofing with e-load e-load can use IP spoofing to assign different IP addresses to virtual users. Each virtual user must get a defined IP address when using IP spoofing. Before virtual users can use IP spoofing, you must define the IP addresses available for use by e-load in the TCP/IP network protocols of the workstation. You define the IP addresses using the Advanced IP Addressing options of the TCP/IP properties of the Network Protocols. On Windows NT systems, the Network Protocols are accessed using the Control Panel, as follows: The general procedure is as follows: 1. Open the TCP/IP Network Protocols. 2. In IP Address, select Specify an IP Address. 3. In the Advanced IP Address settings, add the IP Address and Subnet Mask. 74 e-load User Guide

Using IP Spoofing with e-load 4. Enter as many IP addresses/subnet Masks as you have available for use by e-load virtual users. 5. Repeat the above steps on each e-load Agent workstation. Run VUs in Separate Processes. 6. In the e-load Scenario tab, select Run VUs in Separate Processes Use IP Spoofing. 7. In the e-load Scenario tab, select Use IP Spoofing 8. Submit and Start the scenario in the Autopilot. The virtual users on each Agent machine will use the defined IP addresses in the order they were defined in the TCP/IP network protocols. For example the first virtual user uses the first IP address (index value 0), the second virtual user uses the second IP address (index value 1), and so on. If there are more virtual users than available IP addresses, e-load loops back to the first IP address and goes through the list of IP addresses repeatedly until all virtual have been assigned an IP address. Note: e-load uses layering on the TCP/IP stack to perform IP spoofing with virtual users. While virtual users are running, the e-load layer is at the top of the TCP/IP stack. If an unusual event (for example, a restart) occurs while the workstation is running e-load virtual users with IP spoofing, other applications that use the TCP/IP stack may be affected. If this occurs, use regsvr32.exe to unregister the file sporder.dll. Chapter 5: Defining Virtual User Scenarios 75

Working with Scenario Files Working with Scenario Files Saving Scenarios Once you select virtual user profiles and set the attributes, you can save the Scenario to a file for future use. e-load automatically assigns the name LoadTest# for the scenario. 1. Enter a new name in the Scenario Description or leave the default name. 2. Select File Save Scenario. If you have not saved the scenario previously, e-load opens a dialog box for you to specify a name for the scenario file. 3. If the Save As dialog box appears, specify a filename and click Sa 3. Save As Opening Existing Scenarios If you have previously defined a scenario and save it to a file, you can open the scenario for use in e-load. Save ve. 1. Select File Open Scenario. e-load opens a dialog for selecting the scenario file. Scenario files have a.mix filename extension. 2. Open. 2. Select the file and click Open 76 e-load User Guide

Submitting Scenarios to Autopilot Submitting Scenarios to Autopilot Once you have defined a scenario and set the profile attributes, you submit the scenario to the e-load Autopilot. Submit without Starting the Scenario Submitting the scenario to the Autopilot without starting allows you to specify the start and stop times for running the scenario profiles. Select Run Autopilot Submit Scenario. or: Click the Submit Scenario button on the Scenario tab. or: Click the toolbar button. e-load automatically opens the Autopilot tab with the scenario loaded. See Chapter 6 for information about setting the Autopilot options and starting the scenario. Submit and Start Scenario in Autopilot If you want to use the default Autopilot settings and start the Scenario, you can submit scenarios and automatically start the Autopilot in one step. Select Run Autopilot Submit Scenario and Start. or: Click the toolbar button. e-load automatically opens the Autopilot tab with the scenario loaded and starts the virtual user run. Chapter 5: Defining Virtual User Scenarios 77

Submitting Scenarios to Autopilot [This page intentionally left blank] 78 e-load User Guide

Chapter 6 Using Autopilot This chapter explains how to use the Autopilot to specify start and stop times for scenario profiles and the rampup specifications for each virtual user. Before you can use the Autopilot, you must first define virtual user profiles and scenarios and submit the scenario profiles to the Autopilot. Chapter 4 explains how to define virtual user profiles. Chapter 5 explains how to define scenarios and submit them to the Autopilot. Specifying Start and Stop Settings The Start and Stop group of the Autopilot tab is where you specify when to start and stop running of virtual user scenarios. Scenario Start and Stop Settings Scenario Profiles Submitted to Autopilot 79

Specifying Start and Stop Settings Specifying When to Start Virtual Users The Start Start selector specifies when to start running virtual user scenarios and has the following options: E Immediately Immediately starts running the scenario as soon as you start the Autopilot. E At Specified Time At Specified Time allows you to specify the date and time to start running the virtual user scenario. Selecting this option enters a default time in the associated editbox in the format: hh:mm:ss. Change the time as necessary. The Autopilot waits until the specified time after you start the Autopilot to run the virtual user scenario. E After Delay Of After Delay Of allows you to specify an amount of time to wait before starting the virtual user scenario. Selecting this option enters a default time in the associated editbox in the format: hh:mm:ss. Change the amount of time as necessary. The Autopilot waits the specified amount of time after you start the Autopilot to run the virtual user scenario. Specifying When to Stop Virtual Users The Stop selector specifies when to stop virtual user scenarios that are currently running and has the following options: E None None runs the virtual user scenario continuously until you manually stop the virtual users. E After Iteration Count After Iteration Count allows you to specify the number of times the virtual users iterate over the scripts specified in the run section of the profile. Selecting this option enters a default number of iterations in the associated editbox. Change the iteration count as necessary. The virtual users run the scenario profiles the specified number of times and then stops automatically after the count is reached. E At Specified Time At Specified Time allows you to specify the date and time to stop running of the virtual user scenario. Selecting this option enters a default time in the associated editbox in the format: hh:mm:ss. Change the time as necessary. The Autopilot plays back the scenario profiles until the specified time and then automatically stops running the scenario. 80 e-load User Guide

Specifying Virtual User Rampup E After Delay Of After Delay Of allows you to specify an amount of time to continue running the virtual user scenario. Selecting this option enters a default time in the associated editbox in the format: hh:mm:ss. Change the amount of time as necessary. The Autopilot runs the scenario profiles for the specified amount of time and then automatically stops running the scenario. Specifying Virtual User Rampup The Rampup Specification Rampup Specification group is where you specify the rate at which the Autopilot starts running virtual users. Virtual User Rampup Specification The How Many and After the virtual users. After settings work together to specify the start rate of Specifying How Many Virtual Users to Start at a Time The How Many...At a Time selector allows you to specify the start rate for virtual users and has the following options: E Specify Percentage Specify Percentage specifies a percentage of the virtual users to start at a time based upon the After setting. Selecting this option enters a default percentage in the associated editbox. Change the percentage as required. For example, if you specify the percentage as 10% and the After setting is set to Delay of 10 seconds, the Autopilot starts running ten percent of the virtual users submitted to the Autopilot every ten seconds until all virtual users are running. Chapter 6: Using Autopilot 81

Specifying Virtual User Rampup E Specify Number Specify Number specifies the number of the virtual users to start at a time based upon the After setting. Selecting this option enters a default number of virtual users, which is the total number, in the associated editbox. Change the number as required. For example, if you specify the number as 5 and the After setting is set to Iteration Count of 1 iteration, the Autopilot starts running five virtual users after each run of the scenario profiles until all virtual users are running. Specifying Delay before Starting Virtual Users The After selector allows you to specify how often the specified number or percentage of virtual user start running and has the following options: E Iteration Count Of Iteration Count Of specifies the number of scenario iterations to wait before starting the specified number or percentage of virtual users. Selecting this option enters a default number of iterations. Change the number as required. For example, if you specify the iteration count as 1 and the How Many setting is set to Specify Number 5 at a time, the Autopilot first starts five virtual users. After the first five complete one iteration of the profile, the Autopilot starts another five virtual users. The Autopilot starts five additional virtual users after each iteration until all virtual users are running. E Delay Of Delay Of specifies the number of seconds to wait before starting the specified number or percentage of virtual users. Selecting this option enters a default number of seconds. Change the number as required. For example, if you specify the delay as 120 seconds and the How Many setting is set to Specify Percentage of 10% seconds, the Autopilot starts running ten percent of the virtual users every 120 seconds until all virtual users are running. 82 e-load User Guide

Manually Starting and Stopping the Autopilot Manually Starting and Stopping the Autopilot Once you have submitted scenario profiles and set the Autopilot options, you can manually start and stop the Autopilot using the following: E Autopilot buttons E menu options E toolbar You need to manually stop the Autopilot to submit more scenario profiles or stop any new virtual users from being started. Starting the Autopilot To start running the scenario profiles in Autopilot: Select Run Autopilot Start. Or, click the Start button on the Autopilot tab. Or, click the toolbar button. The Autopilot starts running the virtual users based upon the Start setting and the Rampup Specification settings. If you set the Start option to either At Specified Time or After Delay Of, e-load opens a dialog box indicating the remaining time until the start: Allow the delay to continue until the start time. Or, click Start Now to start running the scenario immediately. Or, click Cancel to cancel the start. Chapter 6: Using Autopilot 83

Working with Virtual Users Stopping the Autopilot To stop running the scenario profiles submitted to the Autopilot: Select Run Autopilot Stop op. Or, click the Stop button on the Autopilot tab. Or, click the toolbar button. This stops Autopilot from starting any new virtual users. Working with Virtual Users Once you start running virtual users using the Autopilot, the Virtual User Grid tab lists the running virtual users and shows the run details for each: You can click any column title to change the sort order of the virtual users listed in the virtual users grid. You can also adjust the height of the rows and the width of the columns in the virtual user grid by clicking and dragging the dividers. 84 e-load User Guide

Working with Virtual Users Drag Row Dividers to Expand Rows for Viewing Additional Details Drag Column Dividers to Expand Columns This is especially useful for viewing any error message details in the Last Error and Worst Error columns. Overview of the Virtual Users Grid The virtual users grid has the following columns: VU-Id Id the ID number for the virtual user. Profile shows the name of the user profile being run by the virtual user. Script shows the current e-tester Visual Script being run by the virtual user. Status shows the current status for the virtual user. Iterations shows the number of times the virtual user has played back the user profile. Failed shows the number of failures that occurred for the virtual user. Last Elapsed shows the average elapsed time it took for the virtual user to complete the last playback of the Visual Script. If the virtual user is running a set of Visual Scripts in a User Defined Profile, the Last Elapsed time is the average elapsed time to complete the playback of all of the Visual Scripts in the Run section of the User Defined Profile. Current Page shows the title of the web page or application currently being accessed by the virtual user. Chapter 6: Using Autopilot 85

Working with Virtual Users Workstation shows the name of the workstation on which the virtual user is running. Databank shows the record of data from the e-tester Databank, if any, used by the Visual Script during playback. Last Error provides a description of the last error encountered by the virtual user while executing the Visual Scripts. Worst Error shows the worst error that occurred while the Virtual User was running. Update Visible Grid Only when selected, e-load updates runtime information for only the virtual users that are currently visible in the Virtual User grid. Select this option if you are running large load tests and need to conserve system resources on the Controller workstation. Controlling Individual Virtual Users You can control the running of specific running virtual users using the virtual users grid. 1. Select the virtual user row in the virtual users grid. 2. Click the right mouse button to open the popup menu. 3. Select options, as follows: Modify Run Attributes opens a dialog box for changing the profile attributes for the selected virtual user. Start Viewing opens the Virtual User Display window for viewing the playback actions of the virtual user. See Using the Virtual User Display in Chapter 8 for additional information about using the Virtual User Display options. 86 e-load User Guide

Working with Virtual Users Abort aborts running the selected virtual user. Abort stops execution after the current page in the Visual Script and terminates execution altogether. Stop stops running the selected virtual user. Stopping allows the virtual user to finish executing the script, complete the run section (user-defined profile) but not run another iteration. Release Sync releases the virtual user from any synchronization point that may have been reached during the execution. Delete deletes the selected virtual user from the virtual user grid. Managing Synchronization Points If you create user-defined profiles that include synchronization points, you can manually release one or more virtual users from any synchronization point. You can release specific virtual users, specific synchronization points, or all virtual users and synchronization points. Releasing Individual Virtual Users To release an individual virtual user from a synchronization point: 1. Select the virtual user in the Virtual User grid. 2. Select Run Selected Virtual User Release Sync or: Click the right-mouse button and select Release Sync Release Sync. Release Sync. Chapter 6: Using Autopilot 87

Working with Virtual Users Releasing Multiple Virtual Users To release multiple virtual users from a synchronization point: 1. Select Run All Virtual Users Release Syncs. e-load opens a dialog box for selecting synchronization points and/or virtual users: Release. 2. Select the virtual user(s) to release in the bottom list and click Release Releasing a Synchronization Point To release all virtual users using a specific synchronization point: 1. Select Run All Virtual Users Release Syncs. e-load opens a dialog box for selecting synchronization points and/or virtual users: 2. Select the synchronization point to release in the Waiting Synchronization Points list. Each virtual user waiting at the selected synchronization point will be marked with a check mark. 3. Click Release. 88 e-load User Guide

Working with Virtual Users Modifying Run Attributes You can modify the profile run attributes for specific virtual users running in the virtual user grid. 1. Select the virtual user row in the virtual user grid. 2. Click the right mouse button to open the popup menu. 3. Select Modify Run Attributes. e-load opens a dialog box for modifying the attributes. 4. Select options, as follows: VU Display Ready sets up the virtual user display before running virtual users. On Error View HTML when selected, this profile of virtual users is set up to be viewed immediately in the virtual user display component. If this check box is cleared, and you choose to view the progress of a (or a set of) virtual users at run-time, there will be a delay for the initial communication to be established between the simulation servers and the VU display. Pages start to appear up after a small amount of time elapses. Chapter 6: Using Autopilot 89

Working with Virtual Users Show Request Headers when selected the Request header information for Web page resources requested by the selected Virtual User appears in the Virtual User Display history list. Show Response Headers when selected the Response header information for Web page resources requested by the selected Virtual User appears in the Virtual User Display history list. Download Images when selected, images on the web site or application will be downloaded as part of virtual user playback. Use Databanks when selected, Visual Scripts that have e-tester Data Banks will use the Data Banks as part of the virtual user playback. Reporting On when selected, session data reporting is turned on for the selected virtual user. The Reporting On check box is only available if data collection for reporting is active. (Save Data for Reporting set to Yes in Options Session Management). Stopping All Virtual Users To stop all running virtual users: Select Run All Virtual Users Stop. Or, click the toolbar button. The virtual users will complete the current iteration of the Visual Script and then stop. Aborting All Virtual Users To abort all running virtual users: Select Run All Virtual Users Or, click the toolbar button. All Virtual Users Abort. The virtual users stop immediately without completing the current iteration of the Visual Script. 90 e-load User Guide

Chapter 7 Using Graphs and Reports e-load lets you evaluate the performance of your Web application in real time using Performance Statistics and Load Graphs in the e-test Console. The e-test Console options are available in ServerStats, e-reporter, and e-monitor. The Performance Statistics Performance Statistics let you view a summary of performance statistics data generated by running virtual users. The Load Graphs Load Graphs let you view performance data, statistics, and error data generated by running virtual users. You can view the graphs in the console while the virtual users are running or after they have been stopped or have finished. The performance data is reported at the conclusion of each iteration. When the running virtual users complete the first iteration, the first set of performance data is captured. The graphs and performance statistics that you see in the e-test Console are updated in real time to give you a snapshot of the load test results. However, there is a small amount of processing time required to generate the graphs/statistics and print them to the screen. If you run a very quick Autopilot session, the graphs and performance tab may not have enough time to update the screen with the real time data. However, if you use the Session Management options to save the data for reporting in e-reporter, the data is stored in the e-reporter database. In addition to real-time data shown in the console, e-load can generate a summary report and save data to the e-reporter database for post-testing analysis. The Latest Load Session reports let you generate a summary of performance and error statistics data for the virtual user session. You can use e-reporter to generate a variety of reports and graphs from the data stored in the database. 91

Using the Performance Statistics Using the Performance Statistics The Performance tab shows statistical information about the scenario run. The e-load statistics appear in the e-test Console. e-load automatically starts the e-test Console and updates the data. The statistics show the values for the following performance categories: <Session Name> Current E Active Virtual Users Active Virtual Users the number of virtual users currently running in the Autopilot. Virtual Users with Errors the number of virtual users with errors. Transactions Per Second the number of times the virtual user played back the Visual Script per second. Pages Per Second the number of pages returned by the server per second. A page consists of all of the resources (i.e. page HTML, all images, and all frames) that make up a Web page. Hits Per Second the number of resource requests to the server per second. Each request for a page, individual images, and individual frames is counted as a hit by e-load. If e-load does not request images from the server (as specified in the Download Manager), E Virtual Users with Errors E Transactions Per Second E Pages Per Second E Hits Per Second images are not included in the hit count. The Hits Per Second Hits Per Second and 92 e-load User Guide

Using the Performance Statistics Pages Per Second counts will be the same if images are not requested and there are no frames in the page. Kilobytes Per Second the number of kilobytes transferred between the server and browser client per second. E Kilobytes Per Second <Session Name> Totals E Transactions Transactions the total number of times the virtual user played back the virtual user profile. Transactions with Errors the total number of virtual user profile iterations that had errors. Pages the total number of number of pages returned by the server. Hits the total number of resource requests to the server. Kilobytes the total number of kilobytes transferred between the server and browser client. E Transactions with Errors E Pages E Hits E Kilobytes Performance by Profile and Timer E <Profile Name> <Profile Name> the latest, minimum, maximum, and average performance for the virtual user profile in seconds. <Timer Name> the latest, minimum, maximum, and average performance for the server response timers in seconds. Server Response timers are added to Visual Scripts using e-tester. E <Timer Na Performance by Profile and VUs E <Profile Name> # VUs <Profile Name> # VUs shows the time it took to run the virtual user profile with the indicated number of virtual users running. When ramping up virtual users, Performance by Profile and VUs values are added when additional virtual users start running. Once additional Performance by Profile and VUs values are added, the previous Performance by Profile and VUs values are no longer updated. For example, the statistics show elapsed time values for each profile for three, six, and nine virtual users. The <profile name> 3 VUs values are updated only while three virtual users are running. Once the Autopilot ramps up to run six virtual users, the <profile name> 3 VUs values stop updating and the <profile name> 6 VUs values are added and are updated while six virtual users are running. Once the Autopilot ramps up to run nine virtual users, the <profile name> 6 VUs values stop updating and the <profile name> 9 VUs values are added and are updated while nine virtual users are running. Chapter 7: Using Graphs and Reports 93

Using Load Graphs Using Load Graphs The Load graphs lets you view real-time performance, statistical, and error information about the virtual users being run by the Autopilot. The e-load graphs appear in the e-test Console. e-load automatically starts the e-test Console and updates the data. The e-test Console provides the following types of runtime graphs: E Performance Vs. Users E Errors Vs. Users E Performance Vs. Time E Errors Vs. Time E Users Vs. Time E Statistics Vs. Time Performance Vs. Users Graph This graph plots the average run time for the number of active virtual users. If you have multiple profiles in the running Scenario the Performance Vs. Users graph shows separate plot lines for each scenario profile running in the Autopilot. 94 e-load User Guide

Using Load Graphs The Average Performance values are a graphical representation of the Average Value data for the Elapsed time entries shown in the Performance Statistics view. The graph adds plot points based upon the number of running virtual users as the Autopilot ramps up to the total number of virtual users for all scenarios. The plot points are added in the same manner as the Elapsed time entries in the Performance Statistics tab. Errors Vs. Users Graph This graph plots the number of failed transactions-per-second for each Virtual User profile. If you have multiple profiles in the running Scenario the Errors Vs. Users graph shows separate plot lines for each scenario profile running in the Autopilot. The failed transactions-per-second depends upon the number of virtual users being run by individual profiles and the number server requests (page, image, frame, etc.) that fail during the e-load session. Chapter 7: Using Graphs and Reports 95

Using Load Graphs Performance Vs. Time Graph This graph plots the average run time for virtual users over a period of time. If you have multiple profiles in the running Scenario the Performance Vs. Time graph shows separate plot lines for each scenario profile running in the Autopilot. The Average Run Time values are a graphical representation of the Average Value data for the Elapsed time entries shown in the Performance Statistics tab that are plotted over time. 96 e-load User Guide

Using Load Graphs Errors Vs. Time Graph This graph plots the number of failed transactions per second for virtual users profiles over time. If you have multiple profiles in the running Scenario the Errors Vs. Time graph shows separate plot lines for each scenario profile running in the Autopilot. The failed transactions-per-second depends upon the number of virtual users being run by individual profiles and the number server requests (page, image, frame, etc.) that fail during the e-load session. Chapter 7: Using Graphs and Reports 97

Using Load Graphs Users Vs. Time Graph This graph plots the number of active virtual users over a period of time. If you have multiple profiles in the running Scenario the Users Vs. Time graph shows separate plot lines for each scenario profile running in the Autopilot. For example the above graph shows the how the Autopilot ramped up the placeorder and requestinfo virtual user profiles starting with 5 virtual users, then 10 virtual users, to a total of 15 active virtual users. 98 e-load User Guide

Using Load Graphs Statistics Vs. Time Graph This graph plots the average hits, transactions and kilobytes per second over a period of time. The Average Statistic values are a graphical representation of the Average Value data from the Performance Statistics tab over time. The plot points are updated while the Autopilot runs the virtual users. Chapter 7: Using Graphs and Reports 99

Using Load Graphs Changing the Time Span You can specify the time span for data displayed in the graphs. Rightclick on a graph and select the time span to include in the graph window. The time span setting applies to all of the graph tabs. 100 e-load User Guide

Viewing Workstation Statistics Viewing Workstation Statistics In addition to e-load runtime graphs and statistics, you can use ServerStats and the e-test Console to monitor processor usage and virtual memory paging on the e-load Controller and Agent workstations. Using ServerStats Load Workstation Counters e-load automatically generates a set of ServerStats counters in the Counters view of the e-test Console for Load Workstations. The available workstations correspond to the e-load Agent workstations being used for the load test. The workstations you have specified in the Workstation fields of the e-load Scenario tab will appear in the ServerStats Load Workstations group, similar to the following: You can create a new ServerStats chart or gauge view to monitor the Processor or memory paging during the Load Test. Generally, you should limit the number of running virtual users so as not to exceed 80-90% of CPU usage. Also, you should limit the number of running virtual users to not exceed 70-75% of the physical memory of the workstation. Exceeding the limits could infringe on system resources and cause problems on the workstation. Virtual Memory Paging indicates that the number of virtual users that e-load is running has exceeded the physical memory of the machine. Chapter 7: Using Graphs and Reports 101

Viewing Workstation Statistics Using ServerStats Load Overall Data Counters e-load automatically generates a set of ServerStats counters in the Counters view of the e-test Console for e-load Data. The e-load Data folders include an Overall data folder and a folder for each Virtual User profile included in the Scenario Profiles list of the Scenario tab, similar to the following: The Overall folder contains summary counters for all of the Virtual User profiles in the e-load Scenario, as follows: You can create a new ServerStats chart or gauge view to monitor any of the counters in the list during the Load Test. 102 e-load User Guide

Viewing Workstation Statistics Using ServerStats Load Data Counters The Virtual User profile folders contain the data counters and page timer folders for the specific profile in the e-load Scenario, similar to the following: You can create a new ServerStats chart or gauge view to monitor any of the counters in the list during the Load Test. Chapter 7: Using Graphs and Reports 103

Viewing Workstation Statistics The page timer folders contain the performance data for the individual pages of Visual Scripts used as a Virtual User profile, similar to the following: You can create a new ServerStats chart or gauge view to monitor any of the timers in the list during the Load Test. Running e-test Console on Another Workstation You can have e-load and the e-test Console running on separate workstations so that runtime reporting does not consume system resources being used by the e-load Controller. Select Options Preferences Preferences in e-load to open the Preferences. 104 e-load User Guide

Generating Summary Reports Enter the machine name where e-test Console is installed in the Location field of the e-test Console Configuration. You should verify network access between the e-load Controller workstation and the e-test Console workstation using similar network procedures as verifying network access to e-load Agent Workstations. Enter a data update interval in the Data Collection Interval (sec) Click OK. Data Collection Interval (sec) field). Generating Summary Reports You can generate summary reports containing statistical information about the last data collection and reporting session and the Scenario Profile settings. Selecting Run and select either Scenario Report or Session Report. E Scenario Report Scenario Report lets you generate a summary of Scenario settings and options that were used to run virtual users. E Session Report lets you generate a summary of performance and error statistics data for the virtual user session. The following sections explain more about the summary reports. Chapter 7: Using Graphs and Reports 105

Generating Summary Reports Scenario Reports Selecting Run Reports Scenario Report generates the Scenario Report and displays it on the screen. The generated report file is same name as the Scenario in e-load (i.e. the Scenario Description field of the Scenario tab) with a.htm extension and is located in the current Workspace directory. e-load re-generates and overwrites the.htm file each time you run the Scenario report if you use the same Scenario name. You can save specific Scenario reports by saving the file as a different name or saving the Scenario as a different name in e-load. 106 e-load User Guide

Generating Summary Reports Session Reports Selecting Run Run Session Report Session Report opens the report for the current session. The generated report is an HTML-based report. The file is elreport.htm and is stored in the Reporter sub directory of the installation directory (C:\Empirix\eTEST is the default). e-load automatically re-generates and overwrites the elreport.htm file each time you run the quick report. You can save specific summary reports by saving the file as a different name. Other Reporting Options In addition to e-load summary reports, you can use e-reporter to generate a variety of session reports for virtual user data and server statistics. Select Options Session Management to set the Save data for reporting and Generate reports options. The e-reporter User Guide explains the available options. Chapter 7: Using Graphs and Reports 107

Generating Summary Reports Printing Summary Reports You can print the quick report by clicking the right mouse button and selecting Print. A print dialog box opens for setting the printer options. The available options are specific to the type of printer. Set the options and click the appropriate OK or Print button. Saving Summary Reports e-load automatically re-generates and overwrites the elreport.htm file each time you run the quick report. You can save specific summary reports by saving the file as a different name. Click the right mouse button and select View Source. The report s source HTML opens in Windows Notepad. Select File Save As and save the file using a new file name. Closing Summary Reports Click the button to close the report. 108 e-load User Guide

Chapter 8 Using the Virtual User Display The virtual user display lets you monitor the progress of virtual users as they are running or view errors as they occur. The following is a summary of the virtual user display features: E View virtual user playback as pages are accessed and displayed; E View only selected virtual user pages; E View only pages with errors. Overview of the Main Window The main window of the virtual user display is where you select the virtual user actions to view. Browser Pane History List Status Line 109

Setting Virtual User Display Limits The following are options that affect the virtual user display. E The VU Display Ready and/or On Error View HTML On Error View HTML check boxes on the Scenario tab set up the display before running virtual users. E The run time attributes of one or a set of selected virtual users to view (select the virtual user and then right-click the mouse). The current page accessed by a virtual user is shown in the browser pane. The history list shows the list of all pages accessed by each virtual user. Overview of the Menu Options The virtual user display window has the following menu options: The following sections explain each of the menu options and shows the associated tool bar buttons. File Menu These menu options let you open and save log files or exit the virtual user display. The following options are available: Open Log open an existing virtual user log file. Save Log save the virtual user information to a log file. You can set the log file options using Options Log. If the Prompt for log filename check box is not selected in the Log options, the virtual user information is saved to the default file specified in the Log options. The file is saved in the current workspace. If Prompt for log filename is selected, a dialog box opens for specifying a file name. Exit close the virtual user display window. View Menu These menu options let you view specific types of virtual user action information. The following options are available: Display Errors Only displays only errors encountered by the virtual user. Source displays the source HTML for the pages accessed by the virtual user. 110 e-load User Guide

Setting Virtual User Display Limits Clear Display clears the virtual user display. The page information is removed from the browser and the virtual user log information is removed from the history list. If you want to review the virtual user information at a later time, use File Save to save it to a log file. Navigate Menu These menu options let you navigate to specific pages accessed by the virtual user. The following options are available: Previous navigates to the previous page in the history list. Next navigates to the next page in the history list. Mode sets the navigation mode for the viewer window. The following options are available: Single Page view pages one-at-a-time using manual navigation. Automatic displays pages as they are received by the viewer. Stop Accepting New Pages stops the viewer from accepting new pages being accessed by virtual users. Options Menu This menu option let you turn error logging on or off. The following option is available: Log opens a dialog box for specifying the log file options. Window Menu This menu option lets you make sure the virtual user display is always on top of other applications. The following option is available: Always On Top when selected, the virtual user display is always on top of other applications. Chapter 8: Using the Virtual User Display 111

Setting Virtual User Display Limits Overview of the Browser Pane The browser pane lets you view the pages being accessed by the virtual user. The Source option on the View menu lets you toggle between viewing the page or the HTML source for the page. The Download Images Download Images check box on the Scenario tab of e-load determines if images are displayed as part of the page. You can also change the Download Image setting using Run Virtual User Modify Run Attributes in e-load. Overview of the History List Run Selected The history list of the virtual user display window shows the pages accessed by virtual users. When viewing pages in manual mode, you can select any page in the history list to view the page in the browser. The history list has the following columns: Location shows the profile name and the page of the Visual Script being accessed by the virtual user. URL shows the Uniform Resource Locator for the page being accessed by the virtual user. Error shows any error encountered on the page by the virtual user. Time shows the time of day the page was accessed by the virtual user. Virtual User shows which virtual user accessed the page. The number corresponds to the VU-Id number in e-load s virtual user grid. Run shows the iteration number of the virtual user playback. 112 e-load User Guide

Setting Virtual User Display Limits Content Type shows the content type specification of the page being accessed by the virtual user. Size shows the file size of the page being accessed by the virtual user. Data shows Data Bank record information if the Visual Script run by the virtual user uses Data Banks. The green and red status indicators represent passed and failed pages. You can click on an indicator to display the page in the browser pane. Overview of the Status Bar The left panel of the status bar of the Virtual User Display window shows the following information: # items - indicates the total number of items in the viewer history. Items can include HTML page downloads (e-load, e-monitor, and e-manager), image downloads (e-load only), and request header and refresh header downloads (e-load only). # dropped - indicates the number of items that have been dropped from the history list. The Virtual User Display drops items from the history list when the number of items or number of bytes exceeds the viewer s maximum number of items or maximum number of bytes limits. Items are dropped based upon First In-First Out except for items with errors. Items with errors are retained in the history unless the number of items with errors exceeds the maximum number of items or maximum number of bytes limits. See Setting Virtual User Display Limits below for more information. # bytes - indicates the total number of bytes for all items in the viewer. The right panel of the status bar shows the number of Virtual Users. The number of Virtual Users is used with e-load only. When using the Virtual User Display with e-manager and e-monitor, the right panel value is always 0. Chapter 8: Using the Virtual User Display 113

Setting Virtual User Display Limits Specifying Log File Options The Log Log option on the Options menu lets you specify the name of the log file and whether to append to the log or overwrite the log. The log file is not automatically saved to disk. You must specifically save the log file using File Save Log after a virtual user run. Selecting the Log menu option opens the following dialog box: Log File Name enter any name with a.vlg extension. This is the default name of the file that will be used to store the playback history if the Prompt for log filename check box is not selected. Prompt for log filename when checked, the virtual user display prompts for a log filename when you select File Save. When cleared, the virtual user display saves the log information to the file name specified by Log File Name when you select File Save. File Name File Save Append to log file when selected, the virtual user display appends the current playback history to the specified log file. Overwrite log file when selected, the virtual user display overwrites any existing log file with the current playback history. Errors Only when selected, only pages with errors are logged. All Details tails when selected, all pages and page details are logged. 114 e-load User Guide

Setting Virtual User Display Limits Setting Virtual User Display Limits You can use the MaxBytes and MaxItems settings in the RSW.INI file to limit the amount of data sent to the Virtual User Display. To use the MaxBytes and MaxItems settings, you must edit the RSW.INI file and add the settings under the [HTMLViewer] section of the file, as follows: 1. Close all e-test suite applications. 2. Open the RSW.INI file in any ASCII text editor, such as Notepad. The RSW.INI file is located in the WINNT directory for Windows NT/2000. 3. Add the MaxBytes and/or MaxItems settings, using the following syntax: [HTMLViewer] MaxBytes=Number (defaults to 2048000) MaxItems=Number (defaults to 200) 4. Save the RSW.INI file and restart e-load. Chapter 8: Using the Virtual User Display 115

Setting Virtual User Display Limits [This page intentionally left blank] 116 e-load User Guide

Appendix A Internet Status Codes Server Status Codes The following are the numeric codes that may be returned as Internet Status and error codes in the e-load Autopilot and the e-tester Resource Validation test. Information Codes 100 Continue The client can continue the request to the server. 101 Switching Protocols The server has changed the application protocol being used on this connection at the request of the client via the Upgrade message header field. Success Codes 200 OK The request completed successfully. 201 Created The request has been fulfilled and resulted in a new resource being created. 202 Accepted The request has been accepted for processing, but the processing has not been completed. 203 Non-Authoritative Information The returned meta information in the entity-header is not the definitive set as available from the origin server, but is gathered from a local or a third-party copy. 117

Server Status Codes 204 No Content The server has fulfilled the request but does not need to return new information. 205 Reset Content The server has fulfilled the request and the client should reset the document view which caused the request to be sent to allow the user to initiate another input action. 206 Partial Content Redirection Codes The server has fulfilled the partial GET request for the resource. 300 Multiple Choices The requested resource corresponds to ambiguous or multiple choices. 301 Moved Permanently The requested resource has been assigned a new permanent Uniform Resource Identifier (URI) and any future references to the resource should use one of the returned URIs. 302 Moved Temporarily The requested resource resides temporarily under a different Uniform Resource Identifier (URI). 303 See Other The response to the request can be found under a different Uniform Resource Identifier (URI) and should be retrieved using a GET method on that resource. 304 Not Modified 305 Use Proxy The client requested a resource that has not been modified. The requested resource must be accessed through the proxy given by the Location field. 306 Not Used Used in a previous version of the HTTP specification but is no longer used and the code is reserved. 118 e-load User Guide

Server Status Codes 307 Temporary Redirect Failure Codes The requested resource resides temporarily under a different Uniform Resource Identifier (URI). 400 Bad Request The request could not be understood by the server due to invalid syntax. 401 Unauthorized The requested resource requires user authentication. 402 Payment Required Not implemented. Reserved for future use. 403 Forbidden The server understood the request, but is refusing to fulfill it. 404 Not Found The server has not found anything matching the Request-URI (Uniform Resource Identifier). 405 Method Not Allowed The method in the Request-Line is not allowed for the resource identified by the Request-URI. 406 Not Acceptable The response from the request has content characteristics that are not acceptable to the accept headers sent by the client. 407 Proxy Authentication Required The client must first authenticate itself with the proxy. 408 Request Time-out 409 Conflict 410 Gone The client did not produce a request within server timeout limit. The request could not be completed due to a conflict with the current state of the resource. The user should resolve the conflict and resubmit the request. The requested resource is no longer available at the server and no forwarding address is known. Appendix A: Internet Status Codes 119

Server Status Codes 411 Length Required The server refuses to accept the request without a defined Content-Length. 412 Precondition Failed The precondition given in one or more of the request-header fields evaluated False when tested on the server. 413 Request Entity Too Large The server is refusing to process a request because the request entity is larger than the server is willing or able to process. 414 Request-URI Too Long The server is refusing to service the request because the Request-URI is longer than the server is willing to interpret. 415 Unsupported Media Type The server is refusing to service the request because the entity of the request is in a format not supported by the requested resource for the requested method. 416 Requested Range Not Satisfiable A request included a Range request-header field, and none of the range-specifier values in this field overlap the current extent of the selected resource, and the request did not include an If- Range request-header field. 417 Expectation Failed Server Error Codes The expectation given in an Expect request-header field could not be met by this server, or, if the server is a proxy, the server has unambiguous evidence that the request could not be met by the next-hop server. 500 Internal Server Error The server encountered an unexpected condition that prevented it from fulfilling the request. 501 Not Implemented The server does not support the functionality required to fulfill the request. 120 e-load User Guide

Internet Codes Internet Codes 502 Bad Gateway The server, while acting as a gateway or proxy, received an invalid response from the upstream server it accessed in attempting to fulfill the request. 503 Service Unavailable The server is currently unable to handle the request due to a temporary overloading or maintenance of the server. 504 Gateway Time-out The server, while acting as a gateway or proxy, did not receive a time out while waiting for a response from the upstream server specified by the URI (e.g. HTTP, FTP, LDAP) or some other auxiliary server (e.g. DNS) it needed to access in attempting to complete the request. 505 HTTP Version not supported Internet Error Codes The server does not support, or refuses to support, the HTTP protocol version that was used in the request message. 12001 Out of Handles 12002 Timeout No more Internet handles could be generated at this time. The request has timed out. 12003 Extended Error An extended error was returned from the server. This is typically a string or buffer containing a verbose error message. 12004 Internal Error An internal error has occurred. 12005 Invalid URL The Uniform Resource Locator (URL) is invalid. 12006 Unrecognized Scheme The Uniform Resource Locator (URL) scheme could not be recognized or is not supported. Appendix A: Internet Status Codes 121

Internet Codes 12007 Name Not Resolved The server name could not be resolved. 12008 Protocol Not Found The requested protocol could not be located. 12009 Invalid Option A request to InternetQueryOption or InternetSetOption specified an invalid option value. 12010 Bad Option Length The length of an option supplied to InternetQueryOption or InternetSetOption is incorrect for the type of option specified. 12011 Option Not Settable 12012 Shutdown The request option cannot be set, only queried. The Win32 Internet function support is being shut down or unloaded. 12013 Incorrect User Name The request to connect and log on to an FTP server could not be completed because the supplied user name is incorrect. 12014 Incorrect Password The request to connect and log on to an FTP server could not be completed because the supplied password is incorrect. 12015 Login Failure The request to connect to and log on to an FTP server failed. 12016 Invalid Operation The requested operation is invalid. 12017 Operation Canceled The operation was canceled, usually because the handle on which the request was operating was closed before the operation completed. 12018 Incorrect Handle Type The type of handle supplied is incorrect for this operation. 12019 Incorrect Handle State The requested operation cannot be carried out because the handle supplied is not in the correct state. 122 e-load User Guide

Internet Codes 12020 Not Proxy Request The request cannot be made via a proxy. 12021 Registry Value Not Found A required registry value could not be located. 12022 Bad Registry Parameter A required registry value was located but is an incorrect type or has an invalid value. 12023 No Direct Access Direct network access cannot be made at this time. 12024 No Context An asynchronous request could not be made because a zero context value was supplied. 12025 No Callback An asynchronous request could not be made because a callback function has not been set. 12026 Request Pending The required operation could not be completed because one or more requests are pending. 12027 Incorrect Format The format of the request is invalid. 12028 Item Not Found The requested item could not be located. 12029 Cannot Connect The attempt to connect to the server failed. 12030 Connection Aborted The connection with the server has been terminated. 12031 Connection Reset The connection with the server has been reset. 12032 Force Retry Calls for the Win32 Internet function to redo the request. 12033 Invalid Proxy Request The request to the proxy was invalid. Appendix A: Internet Status Codes 123

Internet Codes 12034 Need UI A user interface or other blocking operation has been requested. 12035 Not Defined This error code is not defined in WININET. 12036 Handle Exists The request failed because the handle already exists. 12037 Sec Cert Date Invalid SSL certificate date that was received from the server is bad. The certificate is expired. 12038 Sec Cert CN Invalid SSL certificate common name (host name field) is incorrect. 12039 HTTP to HTTPS on Redir The application is moving from a non-ssl (Secure Socket Layer) to an SSL connection because of a redirect. 12040 HTTPS to HTTP on Redir The application is moving from an SSL (Secure Socket Layer) to a non-ssl connection because of a redirect. 12041 Mixed Security Indicates that the content is not entirely secure. Some of the content being viewed may have come from unsecured servers. 12042 Chg Post is Non Secure The application is posting and attempting to change multiple lines of text on a server that is not secure. 12043 Post is Non Secure The application is posting data to a sever that is not secure. 12044 Client Auth Cert Needed An SSL protected resource on a Web server requires a valid client certificate. 12045 Invalid CA A server SSL certificate was issued by an unknown or invalid certificate authority. 12046 Client Auth Not Setup Client authorization is not setup up on this computer. 124 e-load User Guide

Internet Codes 12047 Async Thread Failed The application could not start an asynchronous thread. 12048 Redirect Scheme Change The function could not handle the redirection, because the scheme changed (for example, HTTP to FTP). 12049 Dialog Pending Another thread has a password dialog box in progress. 12050 Retry Dialog The dialog box should be retried. 12051 Not Defined This error code is not defined in WININET. 12052 HTTPS to HTTP Submit S Redir The data being submitted to an SSL connection is being redirected to a non-ssl connection. 12053 Insert CDROM The request requires a CD-ROM to be inserted in the CD-ROM drive to locate the resource requested. FTP API Error Codes The following are the error codes returned by the Internet API used to access FTP protocols. 12110 Transfer in Progress The requested operation cannot be made on the FTP session handle because an operation is already in progress. 12111 FTP Dropped The FTP operation was not completed because the session was aborted. 12112 No Passive Mode Gopher API Error Codes Passive mode is not available on the server. 12130 Protocol Error An error was detected while parsing data returned from the Gopher server. Appendix A: Internet Status Codes 125

Internet Codes 12131 Not File The request must be made for a file locator. 12132 Data Error An error was detected while receiving data from the Gopher server. 12133 End of Data The end of the data has been reached. 12134 Invalid Locator The supplied locator is not valid. 12135 Incorrect Locator Type The type of the locator is not correct for this operation. 12136 Not Gopher Plus The requested operation can only be made against a Gopher+ server or with a locator that specifies a Gopher+ operation. 12137 Attribute Not Found The requested attribute could not be located. 12138 Unknown Locator HTTP API Error Codes The locator type is unknown. 12150 Header Not Found The requested header could not be located. 12151 Downlevel Server The server did not return any headers. 12152 Invalid Server Response The server response could not be parsed. 12153 Invalid Header The supplied header is invalid. 12154 Invalid Query Request The request made for HTTP Query Info is invalid. 12155 Header Already Exists The header could not be added because it already exists. 126 e-load User Guide

Internet Codes 12156 Redirect Failed The redirection failed because either the scheme changed (for example, HTTP to FTP) or all attempts made to redirect failed (default is five attempts). 12157 Security Channel Error The application experienced an internal error loading the SSL libraries. 12158 Unable to t Cache File The function was unable to cache the file. 12159 TC/PIP not Installed The required protocol stack is not loaded and the application cannot start WinSock. 12160 Not Redirected The HTTP request was not redirected. 12161 Cookie Needs Confirmation The HTTP cookie requires confirmation. 12162 Cookie Declined The HTTP cookie was declined by the server. 12163 Disconnected The Internet connection has been lost. 12164 Server Unreachable The Web site or server indicated is unreachable. 12165 Proxy Server Unreachable The designated proxy server cannot be reached. 12166 Bad Auto Proxy Script There was an error in the automatic proxy configuration script. 12167 Unable to Download Script The automatic proxy configuration script could not be downloaded. 12168 Redirect Needs Confirmation The redirection requires user confirmation. 12169 Sec Invalid Cert SSL certificate is invalid. Appendix A: Internet Status Codes 127

Internet Codes 12170 Sec Cert Revoked SSL certificate was revoked. 12171 Failed Due to Security Check Additional Information The function failed due to a security check. For additional information about HTTP Status Codes and the Win32 Internet API Constants, see the following Web resources: Section 10 of the Hypertext Transfer Protocol HTTP/1.1 Request for Comments: 2616: http://www.w3.org/protocols/rfc2616/rfc2616-sec10.html Microsoft MSDN Web Workshop Win32 Internet API Constants: http://msdn.microsoft.com/workshop/networking/wininet/reference/const ants/constants.asp MSDN Knowledge Base article Q193625: http://support.microsoft.com/support/kb/articles/q193/6/25.asp 128 e-load User Guide

Appendix B e-load Error Messages This appendix lists the error messages that can be generated by e-load and possible remedies. Viewing Error Codes The error codes and messages appear either as message boxes or in the Last Error or Worst Error columns of the e-load Autopilot Virtual User grid. You can expand the Virtual User grid columns and rows to view the full text of messages that appear in the Last Error or Worst Error columns, as follows: Drag Row Dividers to Expand Rows for Viewing Additional Details Drag Column Dividers to Expand Columns The following sections list the errors and meanings. 129

Error Messages Error Messages Failed to connect to database. Reporting disabled. e-load was unable to connect to the e-reporter database to save data for reporting. Verify that the ODBC system data source correctly references the RSWReporter data source location. Open ODBC Data Sources in the Windows Control Panel. Verify that there is a RSWReporter data source listed in the System DSN tab and that the RSWReporter data source configuration points to the location of the file. Use the Configure button on the System DSN tab to verify the data source location. If using the MS Access version of the e-reporter data source (the default), verify that the ODBC Microsoft Access Setup references the location of the RSWReport.mdb file (C:\Empirix\eTEST\Reporter is the default). If you set up the e-test suite to use a shared directory in a network environment, the RSWReport.mdb file should be stored in the Reporter subdirectory of the shared drive and directory that you specify. If using an SQL Server version of the RSWReporter data source, verify that the Microsoft SQL Server DSN Configuration references the RSWReporter SQL Server data source. If the above procedures do not fix the problem, contact Empirix, Inc. Customer Support at webtest_support@empirix.com. Failed to create extension server e-load was unable to create the extension server to handle JavaScript document.write or document.writeln commands when running a Scenario/Visual Script in Thin Client. This error indicates that e-load cannot locate the Registry entry for the RswES.exe extension server. Try uninstalling and reinstalling the e-test suite. If reinstalling does not fix the problem, contact Empirix, Inc. Customer Support at webtest_support@empirix.com. 130 e-load User Guide

Error Messages Failed to create server e-load was unable to create an Agent server to run Virtual Users. Try the following: 1. Make sure that you have the e-load Agent software loaded on the Agent workstation(s) and that it is the same version as the e-test suite software that is loaded on the e-load Controller workstation. The workstations you plan to use as agents must have either the e-load Agent software or the full e-test suite installed to work as agents. Do not install both the e-load Agent software and the e-test suite software on the same workstation. Otherwise, resource conflicts between the two programs may occur. 2. Make sure you can successfully Ping all of the Agent workstations from the e-load Controller workstation. The names you use to Ping the workstations are the same names that you will specify for the Agent workstations in the e-load Controller. If you cannot successfully Ping the Agent workstations, contact your network administrator to resolve the issue. If you cannot Ping the Agent workstations from the e-load Controller workstation, you will not be able to run the agents from the controller. 3. Make sure that the same user is logged on both the e-load Controller workstation and all of the Agent workstations. All of the Agent workstations must be logged in to be controlled by the e-load Controller workstation. You may be able to log in as a different user on the Agent workstations as long as the user login has the same administrative privileges as the user logged in on the controller workstation. 4. If the e-load Controller and Agent Workstations are not participating in the Domain security model, both the e-load Controller and the Agent Workstations must log in as Administrator and have the exact same password. 5. From the controller workstation, try mapping a drive on each of the Agent workstations using Windows Explorer. Depending on how your network is setup, the controller workstation may not be allowed to start up processes on the Agent workstations. The easiest way around this is to map a drive to the Agent workstation in order to authenticate with Windows. Appendix B: e-load Error Messages 131

Error Messages This error may also indicate a problem with Registry entries for e-test suite components. Try uninstalling and reinstalling the e-test suite. If reinstalling does not fix the problem, contact Empirix, Inc. Customer Support at webtest_support@empirix.com. Failed to find e-load is unable to find the navigation path (an internal representation of a clicked link that e-tester records to the Visual Script) between two pages recorded to the Visual Script. These errors can occur in e-load for a variety of reasons, even if the Visual Script played back correctly in e-tester. e-tester uses Thick Client mode exclusively when recording and playing back Visual Scripts. Typically, failed to find errors are related to dynamically generated HREFs recorded to a Visual Script that is played back in e-load s Thin Client. For example HREFs containing: E session information E inline JavaScript E other dynamically changed attributes may cause failed to find errors in e-load Thin Client depending upon the specific techniques used for links in the Web page source and e-load s current settings. If you experience failed to find errors in e-load Thin Client, try running the Scenario/Visual Script with one Virtual User in Thick Client. If the Scenario/Visual Script runs in e-load Thick Client, it will be possible to run small load tests with that Scenario/Visual Script. However, Thick Client is a full implementation of the Browser, which has much higher system resource requirements than Thin Client. Thick Client is not as scaleable as Thin Client and will not run as many Virtual Users per workstation as Thin Client. To resolve failed to find errors in Thin Client, contact Empirix Customer Support at webtest_support@empirix.com for assistance with adjusting e-load s settings for your specific situation. Note that the solution to one failed to find situation may not resolve other failed to find situations. You should contact Empirix Customer Support every time you encounter a failed to find error that you cannot resolve. 132 e-load User Guide

Error Messages Failed to match e-load found the navigation path (an internal representation of a clicked link that e-tester records to the Visual Script) between two pages recorded to the Visual Script, but was unable to match one or more partial components of the navigation path. failed to match errors are also related to dynamically generated HREFs recorded to a Visual Script that is played back in e-load s Thin Client. To resolve failed to match errors in Thin Client, contact Empirix Customer Support at webtest_support@empirix.com for assistance with adjusting e-load s settings for your specific situation. Note that the solution to one failed to match situation may not resolve other failed to match situations. You should contact Empirix Customer Support every time you encounter a failed to match error that you cannot resolve. Failed to open scenario 'scenario name' e-load failed to open the specified scenario file. Failed to OpenKey 'registry key' e-load failed to open the specified registry key. Failed to Query 'registry key' e-load failed to get the specified registry value string. Failed to start callout server 'server prog id' e-load is unable to start the External Callout server specified in the Visual Script. Appendix B: e-load Error Messages 133

RSWISERV Errors RSWISERV Errors e-load reports its own internal RSWISERV errors to the error columns of the Virtual User grid. The following is an example of an RSWISERV error: DRIVER ERROR 2010, RSWISERV Error, http://... The following table lists the RSWISERV error constants: 100 RSW_NO_RESULTS_TO_REPORT 101 RSW_CONNECT_BUCKET_TIMEOUT 200 RSW_DLL_UNINIT_COMPLETED 1000 RSW_ERROR_INVALID_PARAMETERS 2000 RSW_INET_LAYER_NOT_INITD 2001 RSW_OPEN_REQUEST_FAILED 2002 RSW_ADD_REQUEST_HEADERS_FAILED 2003 RSW_SEND_REQUEST_FAILED 2004 RSW_QUERY_INFO_FAILED 2005 RSW_FAILED_TO_CLOSE_HANDLE 2006 RSW_ERROR_NO_SESSION_HANDLE 2007 RSW_INTERNET_SET_OPTION_FAILED 2008 RSW_INTERNET_QUERY_OPTION_FAILED 2010 RSW_INTERNET_LOGIN_FAILURE 2011 RSW_AUTH_LOGIN_PARMS_NOTAVAILABLE 2012 RSW_CANNOT_CREATE_AUTH_OBJECT 2013 RSW_READ_REQUEST_FAILED 2014 RSW_INTERNET_REQUEST_TIMEOUT 3000 RSW_UNABLE_TO_CREATE_EVENT 3001 RSW_UNABLE_TO_CREATE_THREAD 3002 RSW_UNABLE_TO_CREATE_NEW_REQUEST 3003 RSW_UNABLE_TO_CREATE_NEW_THEAD_ENTRY 3004 RSW_UNABLE_TO_CREATE_MUTEX 3005 RSW_UNABLE_TO_CREATE_NEW_OBJECT 3006 RSW_UNABLE_TO_ALLOCATE_NEW_MEMORY 134 e-load User Guide

Index Abort menu option, 35, 36 Abort Virtual User, 87, 90 Add Download Filter, 47 Sync point to profile, 54 Visual Scripts to profile, 54 After Delay Of, 80, 81 After Iteration Count, 80 Agent Installation, 30 Network Access, 31 UNIX Client, 48 Agent as the connection server, 49 All Virtual Users menu option, 35 Always On Top menu option, 111 Arrange Menu, 37 Arrange Now menu option, 37 Assign New Session Name, 69 At Specified Time, 80 Attribute Name, 47 Attribute Value, 47 Authentication, 48 Auto generate timers for all resources, 43 Automatic menu option, 111 Autopilot Delay Before Starting, 82 Setting Rampup, 81 Setting Start and Stop, 79 Starting, 83 Stopping, 84 Tab options, 40 Using, 79 Autopilot menu option, 35 Available Floating VUs, 50 Bourne-like Shell, 49 Browser Emulation, 62 Browser Pane, 112 C Shell, 49 Caching Type, 63 Cascade menu option, 37 Clear Display menu option, 111 Closing Reports, 108 Configure UNIX Clients menu option, 37 Connection Speed, 62 Connection, UNIX, 49 Controller as the connection server, 49 Controlling Virtual Users, 86 Copy Profile Attributes menu option, 34 Current Page, 85 Customize Browsers menu option, 37 Data Bank Control menu option, 35 Data Banks, 70 Controling, 70 Setting Preferences, 71 Data Collection Interval (sec), 44 Databank, 86 Data-driven testing, 5 Default Profiles, 51 Define How a Session Ends, 67 Define Unique Profile menu option, 37 Defining Scenarios, 59 Delay Between Iterations, 61 Delay Of, 82 Delete All Virtual Users, 35 Inactive Users, 68 Menu option, 35 Virtual User, 87 Delete menu option, 36 Development-to-deployment testing, 7 Display Errors Only menu option, 110 Displaying Virtual Users, 109 Download, 47 Download Images, 64, 90 Download Manager, 46 Download Manager menu option, 37 Edit Menu, 34 135

Index Edit Profile menu option, 34 Editing profiles, 56 e-load Advantages, 2 Data-driven testing, 5 IDEs supported, 6 Reports and graphs, 5 Reuse of scripts, 3 End of Session Options, 69 Epilog, 53 Error Codes, 117 Failure Codes, 119 FTP API, 125 Gopher API, 125 HTTP API, 126 Internet, 121 Last Error, 129 RSWISERV Errors, 134 Server, 120 Viewing, 129 Worst Error, 129 Error Handling, 44 Error Log Options, 114 Error Messages, 130 33 Error node of Section tree, 54 Errors Vs. Time, 97 Errors Vs. Users, 95 e-tester menu option, 38 e-tester Style Tests, 65 Existing Filters, 46 Exit menu option, 110 Failed To Messages, 130 33 Failure Codes, 119 File Menu, 34, 110 Filter Configuration, 47 First Time User, 63 FTP API Error Codes, 125 Generate log file for starting UnixPro, 49 Generate Reports, 69 Gopher API Error Codes, 125 Graphs Errors Vs. Time, 97 Errors Vs. Users, 95 Load Test, 94 Performance Vs. Time, 96 Performance Vs. Users, 94 Statistics Vs. Time, 99 Users Vs. Time, 98 Workstation, 101 Help Menu, 38 History List, 112 Content Type, 113 Data, 113 Error, 112 Location, 112 Run, 112 Size, 113 Time, 112 URL, 112 Virtual User, 112 HTTP API Error Codes, 126 IDEs, 6 Information Codes, 117 Installation, 30 Internet Error Codes, 121 Introduction, 1, 9 IP Spoofing, 65, 74 Iteration Count Of, 82 Iterations, 85 Last Elapsed, 85 Last Error, 86, 129 Licenses, 50 Locally Licensed VUs, 50 Log menu option, 111 Loop Using All Records, 71 Main Window e-load Features, 33 e-load Title bar, 33 Virtual User Grid, 41 Main Window Tabs Autopilot, 40 Scenario, 39 Max Number of VU Per Process, 42 Maximum Server Connections, 42 Maximum Wait, 57 Menu options, 34 Abort, 35, 36 All Virtual Users, 35 Always On top, 111 Arrange Menu, 37 Arrange Now, 37 Automatic mode, 111 Autopilot, 35 Cascade, 37 136 e-load User Guide

Index Clear Display, 111 Configure UNIX Clients, 37 Copy Profile Attributes, 34 Customize Browsers, 37 Data Bank Control, 35 Define Unique Profile, 37 Delete, 35, 36 Delete All Virtual Users, 35 Display Errors Only, 110 Download Manager, 37 Edit Menu, 34 Edit Profile, 34 e-tester, 38 Exit, 110 File, 34, 110 Help Menu, 38 Log, 111 Mode, 111 Modify Run Attributes, 36 Navigate, 111 New Scenario, 34 Next, 111 Open Log, 110 Open Script, 34 Open Workspace, 34 Options, 111 Options Menu, 37 Overview, 34 Paste Profile Attributes, 35 Preferences, 37 Previous, 111 Quick Report, 36 Release Sync, 36 Release Syncs, 36 Run menu, 35 Save Log, 110 Save Running As, 34 Save Scenario, 34 Save Scenario As, 34 Selected Virtual User, 36 Server Statistics, 38 Session Management, 37 Single Page, 111 Source, 110 Start (Autopilot), 35 Start Viewing, 36 Stop, 35, 36 Stop (Autopilot), 35 Stop Accepting New Pages, 111 Submit Scenario, 35 Submit Scenario and Start, 35 Terminate Agents, 36 Tile Horizontally, 37 Tile Vertically, 37 Tools Menu, 38 View, 110 Window, 111 Mode menu option, 111 Modify Download Filter, 47 Modify Run attributes, 86, 89 Modify Run Attributes menu option, 36 Moving items in profiles, 55 Navigate Menu, 111 New Profiles, 52 New Scenario menu option, 34 Next menu option, 111 Number of Virtual Users, 61 Object Download Errors Are Fatal, 44 On Error Stop Virtual User, 44 On Error View HTML, 65, 89 On VU Start Error Stop Autopilot, 44 Only update VU at end of iteration, 43 Open gate time, 57 Open Log menu option, 110 Open Script menu option, 34 Open Workspace menu option, 34 Opening Scenarios, 76 Options menu, 111 Options Menu, 37 Password, 49 Password Prompt, 49 Paste Profile Attributes menu option, 35 Performance Statistics, 92 Performance Vs. Time, 96 Performance Vs. Users, 94 Preferences, 42, 48 Preferences menu option, 37 Previous menu option, 111 Printing Reports, 108 Profiles Adding Sync points, 54 Adding Visual Scripts, 54 Creating New, 52 Default, 51 Index 137

Index Editing, 56 Editing Synchronization Points, 58 Epilog, 53 Error handling, 54 Moving items, 55 New Synchronization Point, 57 Prolog, 53 Run section, 53 User-Defined, 52 Prolog section, 53 Prompt, 49 Quick Report menu option, 36 Rampup Specification, 81 Reconfigure ServerStats, 68 Record buffer size per Agent, 71 Redirection Codes, 118 Release Sync, 87 Release Sync menu option, 36 Release Syncs menu option, 36 Release trigger, 57 Remote Shell, 49 Remove Download Filter, 47 Repeat User, 63 Reporting On, 90 Reports Closing, 108 Other Options, 107 Performance, 92 Printing, 108 Saving, 108 Scenario Summary, 106 Session Summary, 107 Summary, 105 Reports and graphs, 5 Reuse of Visual Scripts, 3 RSWISERV Errors, 134 Run Section tree node, 53 Run Menu, 35 Run Preferences, 42 Run VBA and Scripts, 64 Run VU's in Separate Processes, 64 Save Data for Reporting, 68 Save Log menu option, 110 Save Running As menu option, 34 Save Scenario As menu option, 34 Save Scenario menu option, 34 Saving Reports, 108 Saving Scenarios, 76 Scenario Reports, 106 Scenarios Browser Emulation, 62 Caching Type, 63 Connection Speed, 62 Defining, 59 Delay Between Iterations, 61 Download Images, 64 e-tester Style Tests, 65 First Time User, 63 IP Spoofing, 65 Number of Virtual Users, 61 On Error View HTML, 65 Opening existing, 76 Repeat User, 63 Run VBA and Scripts, 64 Run VU's in Separate Processes, 64 Saving, 76 Selected VU Profile, 61 Selecting Profiles, 60 Specifying Profile Attributes, 61 Submiting to Autopilot, 77 Tab options, 39 Thick Client, 63 Thin Client, 63 Update Visible Grid Only, 86 Use Cookies, 64 Use Databanks, 64 User Mode, 63 Virtual User Pacing, 62 VU Display Ready, 65 Workstation, 62 Sections tree Adding Sync Points, 54 Adding Visual Scripts, 54 Moving items, 55 Selected Virtual User menu option, 36 Selected VU Profile, 61 Selecting Profiles, 60 Server Error Codes, 120 Server Statistics menu option, 38 Server Status codes, 117 ServerStats Configuration, 44 Data Collection Interval (sec), 44 Location, 44 138 e-load User Guide

Index Session Management, 67 Session Management menu option, 37 Session Reports, 107 Setting Autopilot Rampup, 81 Setting Autopilot Start and Stop, 79 Show Request Headers, 90 Show Response Headers, 90 Single Page menu option, 111 Source menu option, 110 Specify Number, 82 Specify Percentage, 81 Specifying Profile Attributes, 61 Start (Autopilot) menu option, 35 Start New Session, 68 Start of Session Options, 68 Start Viewing, 86 Start Viewing menu option, 36 Statistics Vs. Time, 99 Status bar, 41 Status Bar Virtual User Display, 113 Status pane, 33 Stop (Autopilot) menu option, 35 Stop Accepting New Pages menu option, 111 Stop After All Records Used, 71 Stop After Last Record Used, 71 Stop menu option, 35, 36 Stop On VU Completion, 67 Stop Virtual User, 87, 90 Submit Scenario and Start menu option, 35 Submit Scenario menu option, 35 Submitting Scenarios to Autopilot, 77 Starting automatically, 77 Without starting, 77 Success Codes, 117 Summary Reports, 105 Sun Secure Socket Layer, 73 Supported IDEs, 6 Synchronization Points Managing, 87 Releasing, 87 Synchronization Points Adding to profiles, 54 Creating New, 57 Editing, 58 Name, 57 System Requirements, 8 Tabs Autopilot, 40 Scenario, 39 Tag Name, 46 TCP/IP Properties, 74 Terminate Agents menu option, 36 Terminate all agents, 69 Thick Client, 63 Thin Client, 63 Tile Horizontally menu option, 37 Tile Vertically menu option, 37 Timeout in Seconds for VUs, 42 Timer Display Specifier, 43 Timing, 50 Tools Menu, 38 Total VUS to claim, 50 UNIX Agent, 48 Authentication, 48 Bourne-like Shell, 49 Connection, 49 e-load Clients, 72 Shell, 49 Timing, 50 Troubleshooting Clients, 72 UNIX socket listening, 49 Update Visible Grid Only, 86 Use Cookies, 64 Use Databanks, 64, 70 Use Fixed Port, 49 Use Only First Record, 71 Use VU Extension Server, 43 User Mode, 63 User name, 49 User-Defined Profiles, 52 Username Prompt, 48 Users Vs. Time, 98 Using Autopilot, 79 View Menu, 110 Virtual User Display # dropped, 113 # items, 113 Browser Pane, 112 Content Type, 113 Data, 113 Index 139

Index Error, 112 Green Status Indicator, 113 History List, 112 Location, 112 Number of virtual users, 113 Red Status Indicator, 113 Run, 112 Size, 113 Status Bar, 113 Time, 112 URL, 112 Virtual User, 112 Virtual User Grid, 41 Virtual User Pacing, 62 Virtual Users, 84 Aborting, 87, 90 Controlling, 86 Deleting, 87 Licenses, 50 Modify Run Attributes, 86, 89 Release Sync, 87 Start Viewing, 86 Stopping, 87, 90 Using the Display, 109 Using the Grid, 85 Visual Scripts Adding to profiles, 54 VU Display Ready, 65, 89 VU-Id, 85 Window Menu, 111 Windows socket listening, 49 Working with Virtual Users, 84 Workstation, 62 Workstation, 86 Worst Error, 86, 129 Zero Length Downloads are Fatal, 44 140 e-load User Guide