Ora Forms Tutorials
Ora Forms Tutorials
SilkPerformer ®
2006 Release 2
Borland Software Corporation
20450 Stevens Creek Blvd., Suite 800
Cupertino, California 95014 USA
http://www.borland.com
Borland Software Corporation may have patents and/or pending patent applications covering subject
matter in this document. Please refer to the product CD or the About dialog box for the list of applicable
patents. The furnishing of this document does not give you any license to these patents.
Copyright © 1992-2007 Borland Software Corporation and/or its subsidiaries. All Borland brand and
product names are trademarks or registered trademarks of Borland Software Corporation in the United
States and other countries. All other marks are the property of their respective owners.
January 2007
PDF
Contents
Introduction 1 Setting Up a Monitoring Template . . . . . . . . 50
Overview . . . . . . . . . . . . . . . . . . . . . 1
SilkPerformer . . . . . . . . . . . . . . . . . . . 1 Chapter 7
Defining Workload 59
Chapter 1 Overview . . . . . . . . . . . . . . . . . . . . 59
Defining Load Test Projects 3 Defining Workload . . . . . . . . . . . . . . . . 61
Overview . . . . . . . . . . . . . . . . . . . . . 3
Prerequisites . . . . . . . . . . . . . . . . . . . 4 Chapter 8
Defining a Load Test Project . . . . . . . . . . . 9 Running & Monitoring Tests 67
Overview . . . . . . . . . . . . . . . . . . . . 67
Chapter 2 Running a Test . . . . . . . . . . . . . . . . . 68
Creating Test Scripts 11 Monitoring a Test . . . . . . . . . . . . . . . . 69
Overview . . . . . . . . . . . . . . . . . . . . 11 Monitoring a Server . . . . . . . . . . . . . . . 73
Creating a Load Test Script . . . . . . . . . . . 12
Trying Out a Generated Script . . . . . . . . . 20 Chapter 9
Exploring Test Results 75
Chapter 3 Overview . . . . . . . . . . . . . . . . . . . . 75
Customizing Test Scripts 23 Working with TrueLog On Error . . . . . . . . . 76
Overview . . . . . . . . . . . . . . . . . . . . 23 Viewing an Overview Report . . . . . . . . . . 78
Comparing Replay and Record TrueLogs. . . . 24 Viewing a Graph. . . . . . . . . . . . . . . . . 90
Customizing User Data . . . . . . . . . . . . . 26
Adding Verifications . . . . . . . . . . . . . . . 32 Index 97
Chapter 4
Defining User Profiles 39
Overview . . . . . . . . . . . . . . . . . . . . 39
Defining a Custom User Profile . . . . . . . . . 40
Chapter 5
Identifying Baseline
Performance 43
Overview . . . . . . . . . . . . . . . . . . . . 43
Finding a Baseline . . . . . . . . . . . . . . . 43
Confirming a Baseline. . . . . . . . . . . . . . 45
Chapter 6
Setting Up Monitoring
Templates 49
Overview . . . . . . . . . . . . . . . . . . . . 49
About these tutorials The Oracle Forms Tutorial offers an overview of using SilkPerformer to set up
and run load tests on Oracle Forms applications.
This Introduction contains the following sections:
Section Page
Overview 1
SilkPerformer 1
Overview
The Web Load Testing Tutorial is designed to ease you into the process of load
testing Oracle Forms applications with SilkPerformer, and to get you up and
running as quickly as possible. It will help you to take full advantage of
SilkPerformer’s ease of use and exploit the leading-edge functionality that’s
embodied in e-business’ load-testing tool of choice.
Oracle Forms, previously called “SQL*Forms,” is part of Oracle’s Internet
Developer Suite (iDS). It’s a 4GL Rapid Application Development (RAD)
environment that allows forms to be deployed across the Web via Oracle’s
Internet Application Server (iAS) Forms Services.
SilkPerformer
SilkPerformer is the industry’s most powerful and easiest to use enterprise-class
load and stress testing tool. Visual script generation techniques and the ability to
test multiple application environments with thousands of concurrent users allow
you to thoroughly test your enterprise applications’ reliability, performance, and
scalability before they’re deployed—regardless of their size and complexity.
Powerful root cause analysis tools and management reports help you isolate
problems and make quick decisions—thereby minimizing test cycles and
accelerating your time to market.
SilkPerformer Benefits Ensure the scalability, performance, and reliability of your enterprise
applications. SilkPerformer ensures the quality of your enterprise applications
by measuring their performance from the end-user perspective, as well as
internally, in a variety of workload scenarios and dynamic load conditions.
Test remote components early in the development cycle. Dramatically reduce the
cost of bugs in your multi-tier enterprise application by testing the functionality,
interoperability, and performance of remote components early in the
development cycle—even before client applications have been built. You can
rapidly generate test drivers for Web services, .NET remoting objects, EJB’s
and Java RMI objects by exploring them via a point & click interface.
Alternately, you can reuse unit test drivers written by developers for
concurrency tests or you can build new test cases directly in Java and other
.NET languages, such as C# and VB.NET, using SilkPerformer’s Visual Studio
.NET Add-In.
Pinpoint problems easily for quick resolution. SilkPerformer’s unrivaled
TrueLogTM technology for HTML, XML, SQL, TCP/IP, and UDP based
protocol data provides full visual root-cause analysis from the end-user
perspective. TrueLogs visually recreate the data that users provide and receive
during load tests—for HTML pages this includes all embedded objects—
enabling you to visually analyze the behavior of your application as errors occur
during load tests. In addition detailed response timer statistics help you uncover
the root causes of missed Service Level Agreements before your application
goes live.
Reusing projects SilkPerformer’s extended workflow simplifies and deepens its integration with
Borland SilkCentral® Test Manager.
By clicking SilkPerformer’s new Reuse Project button, test projects can be
uploaded to and reused by SilkCentralTest Manager (for test automation). See
SilkCentral Test Manager documentation for details.
Introduction This tutorial explains how to define an Oracle Forms load-test project in
SilkPerformer.
What you will learn This chapter contains the following sections:
Section Page
Overview 3
Prerequisites 4
Defining a Load Test Project 9
Overview
The first step in conducting an Oracle Forms load test is to define the basic
settings for your SilkPerformer load-test project. A project is given a name, and
optionally, a brief description. The type of application to be tested is Oracle
Forms 9i, though a range of other choices are available for other projects,
encompassing all the major traffic that is encountered in e-business today on the
Internet and on the Web, including the most important database and distributed
applications.
Though the settings that you specify will be associated with a specific load-
testing project, later you’ll find that it’s easy to switch between projects, to edit
projects, and to save projects so that they can later be modified and reused.
A project contains all the resources that are required to complete a load test.
These include a workload, one or more profiles and test scripts, all the data files
that are accessed from scripts, a specific number of agent computers, and
information for server-side monitoring.
Prerequisites
Because Oracle Forms is based on Java technology, before you can record and
replay Oracle Forms transactions, you must configure the Java Virtual Machine
using SilkPerformer’s system and profile settings. Java’s Just-In-Time Compiler
must also be disabled while recording Oracle Forms 6i or higher.
Java Virtual Machine Procedure To configure Java Virtual Machine:
1 Open the System Settings dialog (Settings/System).
2 Click the Java icon.
3 Select the version of your JVM from the Version pull-down list.
4 Click the Browse (...) button and select the Java home directory of your
JVM.
Note If there is a problem with the path or settings you’ve set, you’ll
receive a dialog stating the following:
Error in the Java settings:
Java home “<Java home path>” contains no subfolder “bin/”.
Java Just In Time Before you can record Oracle Forms 6i or higher you must disable Java JIT (Just
Compiler In Time compiler) using one of three methods:
Option #1
Define -DJAVA.COMPILER=NONE in the Java runtime settings of the Oracle
JInitiator Properties dialog. This must be done using the JInitator control panel,
which is installed with JInitiator. For Oracle Forms 9i, this is available via the
Windows control panel.
Note For Oracle Forms 6 or higher, JInitiator is installed at
C:\Program Files\Oracle\Jinitiator <version>. A shortcut with the
name JInitiator <version> can be found at Start/All Programs.
<version> reflects the exact version, which is either 1.1.7.x or
1.1.8.x (depending on the Oracle Forms patch)
Option #2
Use the check box on the Oracle JInitiator Properties dialog to disable the Just In
Time Compiler (only available since version 1.1.8.x).
1 To do this, launch the JInitiator Control Panel.
2 Select the Advanced tab.
3 Deselect the Enable Just In Time Compiler checkbox.
Option #3
Define an environment variable: SET JAVA_COMPILER=NONE
1 To do this, launch the System Properties dialog from your Windows
Control Panel (Start/Control Panel/System).
2 (Windows XP users) Select the Advanced tab.
Note Depending on your operating system your Environmental
Variables button may be located on a different tab.
3 Edit the JAVA_COMPILER variable as shown below by selecting it in
the System Variables list and clicking the Edit button.
Socket Connections If the Oracle Forms application to be recorded uses a socket connection you’ll
need to disable TCP/IP recording for the socket port using the System Settings
dialog (e.g., you may wish to exclude port 9000, which is the default socket port
for Oracle Forms)
Procedure To disable socket port recording:
1 Open the System Settings dialog (Settings/System).
2 Click the Recorder icon.
3 Select the Proxies tab.
4 Double-click the SOCKS entry listed on the Proxies tab.
Introduction This tutorial explains how to model load test scripts and try out test scripts via
TryScript runs.
What you will learn This chapter contains the following sections:
Section Page
Overview 11
Creating a Load Test Script 12
Trying Out a Generated Script 20
Overview
The easiest approach to creating a load test script is to use the SilkPerformer
Recorder, SilkPerformer’s engine for capturing and recording traffic and
generating test scripts.
The SilkPerformer Recorder captures and records the traffic between a client
application and the server under test. When recording is complete, the
SilkPerformer Recorder automatically generates a test script based on the
recorded traffic. Scripts are written in SilkPerformer’s scripting language,
Benchmark Description Language (BDL).
During the recording phase, you must define transactions. A transaction is a
discrete action that can be assigned to a virtual user in a load test and for which
separate time measurements can be made. You should create new transactions
only for actions that don’t have dependencies on other actions. Individual time
measurements can be made for any action or series of actions that occur during
recording.
2 The Model Script dialog appears. Select Record in the Script area of the
dialog.
3 From the Select application profile drop-down list, select Oracle Forms
9i to record an Oracle application.
4 In the URL field, enter the URL of the Oracle Forms application that is to
be recorded.
Note Ensure that you delete your browser’s cookies if you wish to
record a script that emulates the actions of a first-time user.
5 Click OK.
7 Using the browser, interact with the target server in the way that you
want virtual users to interact during the load test (i.e., click links and
enter data). Your actions will be captured and recorded by the Recorder.
8 Close the browser window and click the Stop Recording button on the
Recorder.
9 The Save As dialog appears. Save the script with a meaningful name.
10 A new generated load test script that’s based on the traffic you recorded
appears in the SilkPerformer script editor window.
Note You are not running an actual load test here, only a test run to
see if your script requires debugging.
4 The TryScript run begins. The Monitor window opens, giving you
detailed information about the run’s progress.
Note If any errors occur during the TryScript run, TrueLog Explorer
will assist you in locating them and customizing any session relevant
information. See “Customizing Test Scripts” for details.
Introduction This tutorial explains how to customize a recorded load test script based on the
results of a TryScript run.
What you will learn This chapter contains the following sections:
Section Page
Overview 23
Comparing Replay and Record TrueLogs 24
Customizing User Data 26
Adding Verifications 32
Overview
Once you’ve generated a load test script with SilkPerformer and executed a
TryScript run, TrueLog Explorer can help you customize the script in the
following ways:
• Parameterize input data - With user data customization you can
make your test scripts more realistic by replacing static recorded
user input data with dynamic, parameterized user data that changes
with each transaction. Manual scripting isn’t required to create such
“data-driven” tests.
• Add verifications to test scripts - Using the Add Verifications tool,
you can gain tremendous insight into data that’s downloaded during
load tests—enabling you to verify that the content that is to be sent
by the server is correct. Verifications remain useful after system
deployment for ongoing performance management.
3 The associated record and replay TrueLogs open in compare view. The
Step through TrueLog dialog also appears.
4 Select a criteria to search by (Forms windows, API calls, or Errors).
5 Click Find Next to advance to the first set of corresponding Forms
windows, API calls, or errors in the record and replay TrueLogs.
Compare the states of the controls to see if there are differences.
TrueLog Explorer highlights any control that’s name or value changes
between record and replay with focused and changed tags. This helps
you identify where customizations may be necessary and where
verifications may be beneficial.
6 Once you’ve completed any required customizations (based on
differences you’ve discovered), click TryScript Run to confirm that your
customizations run without error.
7 Analyze the results of subsequent test runs to determine whether your
customizations were successful or if further customization is required.
8 Click the Compare Mode button to disable compare mode.
9 Repeat this procedure as many times as required until your script is fully
customized and all necessary customizations have been added.
3 With the Parameter Wizard you can modify script values in one of two
ways. You can either use an existing parameter that’s defined in the
dclparam or dclrand section of your script, or you can create a new
parameter (based on either a new constant value, a random variable, or
values in a multi-column data file). Once you create a new parameter,
that parameter is added to the existing parameters and becomes available
for further customizations.
Note This tutorial explains only the process of creating a parameter
based on a new random variable. See SilkPerformer documentation
for complete details regarding the functionality of the Parameter
Wizard.
4 Select the Create new parameter radio button and click Next to create a
new parameter.
5 The Create New Parameter dialog appears. Select the Parameter from
Random Variable radio button and click Next.
6 The Random Variable Wizard appears. From the drop-down list, select
the type of random variable (e.g., Strings from file) you wish to insert
into your test script. A brief description of the highlighted variable type
appears in the lower window.
7 Click Next.
8 The Name the variable and specify its attributes screen appears. The
Strings from file random variable type generates data strings that can
either be selected randomly or sequentially from a specified file.
Enter a name for the variable in the Name field. Specify whether the
10 Click Finish to modify the BDL form declaration of your test script so
that it uses the random variable for the given form field in place of the
recorded value. The new random variable function appears below in
BDL view.
11 Initiate a TryScript run with the random variable function in your test
script to confirm that the script runs without error.
Multi-column data files Parameterization from multi-column data files is a powerful means of
parameterizing data because it defines files in which specific combinations of
string values are stored (e.g., usernames/passwords, first names/last names, etc).
Each column in a data file corresponds to a specific parameter. Multi-column
data files enable a data driven test model and allow you to cover all user data
input with a single data file.
Adding Verifications
TrueLog Explorer allows you to easily add content checks to your test scripts to
verify whether content that is to be sent by servers is in fact received by clients
under real-world conditions.
By comparing replay test runs with record test runs—a uniquely powerful
approach to the challenge of testing end-user experience in client/server
environments—TrueLog Explorer allows you to confirm visually whether or
not embedded objects, text, graphics, table data, SQL responses and more are
actually downloaded and displayed by clients while systems are under heavy
load. This allows you to detect a class of errors that other Web traffic simulation
tools aren’t able to detect: errors that occur only under load that aren't detected
with standard load test scripts.
Content verifications remain useful after system deployment as they can be
employed in ongoing performance management.
By simply right-clicking the objects that you wish to have verified, all required
verification functions can be generated and inserted into BDL scripts. TrueLog
Explorer even offers pre-enabled verification functions for Web, XML, and
database applications.
3 The Add Forms Control Verifications dialog appears. Click the Verify
the Value link.
4 The Insert Value Verification Function dialog appears. Use this dialog to
specify the type of verification function that should be inserted into the
BDL script. From the Verify that the value of the selected control drop-
down list, select is equal to (Other options include is different from,
contains, and does not contain).
5 Specify whether or not the verification is to be Case sensitive and if
white spaces should be ignored.
6 In the Severity portion of the dialog box, specify the severity that is to be
raised if the verification returns a negative result (Error, Warning,
Informational, or Custom).
9 Select the random value parameter you created earlier for customizing
the supplier name. This verification will verify that the value that appears
in the Supplier Name contact field is exactly the random value used to
create the supplier name.
11 Once the BDL script has been successfully modified, repeat this process
for each verification you wish to add to the BDL script.
12 Once you have finished adding verifications, click Yes on the Add
Verifications dialog to initiate a TryScript run.
13 Confirm that verifications have been passed successfully (API nodes that
include verifications are indicated with blue “V” symbols).
Completing your Once you’ve customized how your application handles session information and
customizations user-input data, you have added all necessary verification functions, and have
completed any required manual BDL script editing via SilkPerformer, your load
testing script should run without error.
Section Page
Overview 39
Defining a Custom User Profile 40
Overview
Load test scripts that offer a range of user behavior can be created based on user
types, which are unique combinations of user groups and load test profiles. New
user types can be created by defining new user groups and test profiles.
User groups are sets of users that share common transactions and transaction
frequency settings. User groups are defined in the dcluser sections of BDL
scripts.
By adding profiles to your load test project you can endow a single user type
with a range of traits (e.g., varying connection speeds, protocols, browsers, etc).
SilkPerformer has a default profile that you can use. In some instances you may
require multiple profiles. For example, if you want to emulate three different
modem speeds during your load test, you will need to create three profiles that
define three different modem speeds.
Project profiles contain important project-specific settings. A project may
contain as many profiles as required, each with unique settings. New profiles
can easily be added to projects, and existing profiles can be copied, renamed,
and deleted.
Within profiles, options can be set for how the SilkPerformer Recorder
generates test scripts from recorded traffic and how protocols are used during
recording. Simulation settings can also be defined for script replay. Options for
result files generated during tests are defined. Options are also set for the
different kinds of network traffic that are to be simulated—Internet, Web,
CORBA/IIOP, COM, TUXEDO, Jolt, database and Oracle Forms.
3 The Edit Profile dialog appears. From this dialog you can configure
numerous settings related to your project’s user profile. Select icons in
the shortcut list on the left to access specific settings. Logging and
measuring options can be accessed via the Logging and Measuring tabs.
4 Specify the Connection mode if it is not already set in the script
(normally the recorder scripts this automatically)
5 Define the interval for the heartbeat message that is to be sent to the
server.
6 Define the Oracle Forms client version that is to be simulated (if it has
not already been defined in the script).
7 Click OK to accept the profile settings.
8 Back on the Customize Test dialog, click Yes to complete this workflow
step.
Introduction This tutorial explains how to identify and confirm the baseline performance of a
Web application.
What you will learn This chapter contains the following sections:
Section Page
Overview 43
Finding a Baseline 43
Confirming a Baseline 45
Overview
The next step in conducting a SilkPerformer load test is to ascertain baseline
performance (i.e., the ideal performance of the application under test). Baseline
tests are run using only one user per user type, and performance measurements
of unstressed applications form the basis for calculating appropriate numbers of
concurrent users per user type and appropriate boundaries for HTML page
response timers and transaction response timers. The bandwidth required to run
load tests is also calculated from baseline results. Baseline tests utilize the
identical measurement types that are used for actual load tests. As with actual
load tests, baseline tests also output reports and other standard files.
Finding a Baseline
By assigning different profiles to a user group and script you define new user
types that represent unique combinations of script, user group, and profile.
Baseline tests establish baseline performance for load tests using specific user
types. For baseline tests, only one virtual user per user type is executed.
The Find Baseline dialog allows you to define multiple user types (unique
combinations of script, user group, and profile).
The following option settings are automatically set for baseline tests:
• Baseline report files are automatically created
• The Stop virtual users after simulation time (Queuing Workload) option
is activated
• The Random think time option is deactivated
• The Load test description field is set to BaseLine Test.
• The Display All Errors Of All Users option in the Monitor window is
activated
• The Virtual user output files (.wrt) option is activated
• The Virtual user report files (.rpt) option is activated
6 The baseline test runs. The Monitor window opens, giving you detailed
information about the progress of the test.
Confirming a Baseline
The next step in conducting a SilkPerformer load test is to confirm that the test
baseline established by the test actually reflects the desired performance of the
application under test. Resulting measurements are used to calculate the
appropriate number of concurrent virtual users, required bandwidth, and
acceptable thresholds for load tests.
This is done by inspecting the results of a test in a baseline report. If results are
satisfactory, they can be stored for further processing.
Once a baseline test is complete, a baseline report is displayed. Baseline reports
are based on XML/XSL and include important test results in tabular form.
Note Baseline reports can be displayed for any load test you wish to
use as a baseline (i.e., you can use the results of any past load test to
generate a baseline report).
3 Assuming you are satisfied with the test results and wish to save them for
further processing (e.g., calculation of the number of concurrent virtual
users and network bandwidth required for the load test), click the Accept
Baseline button.
Introduction This tutorial explains how to set up monitoring templates to generate server-side
results information during load tests.
What you will learn This chapter contains the following sections:
Section Page
Overview 49
Setting Up a Monitoring Template 50
Overview
SilkPerformer offers server and client-side monitoring during load tests—
enabling you to view live graphical display of server performance while tests
run. Monitoring servers during tests is important because it enables server-side
results information to be generated. This information can then be viewed and
correlated with other test measurements during results analysis.
Among other uses, monitoring servers helps you determine if bottlenecks are
present and, if so, where they are located. Allowing you to examine the
performance of both operating systems and server applications.
Custom server monitoring templates can be set up or you can use pre-installed
templates (available for most application types).
3 The Profile Settings dialog opens, showing the Monitoring tab of the
Results category.
4 In the Monitoring options area, select the Automatically start monitoring
option to automatically launch Performance Explorer monitoring each
time a load test begins. Performance Explorer displays server
performance data that is relevant to the server type under test.
5 Select the Use custom monitoring template radio button to create a
custom monitor template.
6 Enter a name for the custom template file and click the Create Custom
Monitor Template button.
7 The Browse [...] button is used to change the .pew file. The Edit Custom
Monitor Template button is used to modify the contents of the .pew file.
With the new template file loaded in the edit field, click Edit Custom
Monitor Template to customize server monitoring to your needs.
8 Performance Explorer appears. Close any monitor windows that are not
relevant to the template.
9 Right-click into the Monitor tab and select Add Data Source from the
context menu to add data sources to your template.
10 The Data Source Wizard appears. Click the Select from predefined Data
Sources radio button to select a specific data source provided by the
server.
Note Performance Explorer can also scan servers for available data
sources.
11 Click Next.
12 In the tree view on the System selection screen, expand the folder that
corresponds to the operating system on which the server and the
application under test run. For this example, select Operating System
Data/Windows 2000/XP/System (perfmon) to query a predefined set of
perfmon measures.
13 Click Next.
16 The Select displayed measures screen appears. Here you can expand the
tree view and select measurements for monitoring. For this example
however, click Finish without making any selections.
The next time you begin a load test, server monitoring will start and stop
automatically.
Introduction This tutorial explains how to define workload settings for load tests.
What you will learn This chapter contains the following sections:
Section Page
Overview 59
Defining Workload 61
Overview
The next step in conducting an Oracle Forms load test with SilkPerformer is to
configure workload. SilkPerformer offers different workload models that can be
used as the basis for load tests. You must select the workload model that best
meets your needs prior to the execution of your load test.
The number of concurrent virtual users per user type, the duration, and the
involved agents must also be configured when defining workload.
The following workload models are available:
Increasing workload
With this workload model, at the beginning of a load test, SilkPerformer
simulates not the total number of defined users, but only a specified number.
Gradually workload is increased until all the users in the user list are running.
This workload model is useful when you want to determine at which load level
your system crashes or does not respond within acceptable response times or
error thresholds.
Steady state workload
In this model, the same number of virtual users is employed throughout the test.
Each virtual user executes the transactions defined in the load testing script.
When work is complete, the virtual users begin executing the transactions again.
There is no delay between transactions. The test is complete when the specified
simulation time is reached.
This workload model is useful when you want to find out about the behavior of
the system under test at a specific load level.
Dynamic workload
With this model you can manually change the number of virtual users in a test
while the test runs. The maximum number of virtual users to be run is set; within
this limit, the number can be increased and decreased anytime during the test.
No simulation time is specified, and you must end the test manually.
This workload model is useful when you want to experiment with different load
levels and have control over load levels during tests.
All day workload
This workload model allows you to define the distribution of your load in the
most flexible way. You can assign different numbers of virtual users to any
interval of a load test. Each user type can use a different load distribution. With
this model you can design complex workload scenarios such as workday
workloads and weekly workloads. During load tests you can adjust load levels
for intervals that have not yet been executed.
This workload model is especially useful when you wish to model complex,
extended workload scenarios as realistically as possible.
Queuing workload
In this model, transactions are scheduled following a prescribed arrival rate.
This rate is a random value based on an average interval calculated from the
simulation time and the number of transactions specified in the script (dcluser
section: number of transactions per user). Load tests are complete when all
virtual users have completed their prescribed tasks.
Note Tests may take longer than specified simulation times due to
randomized arrival rates. For example, if you specify a simulation
time of 3,000 seconds and want to execute 100 transactions, then
you will receive an average transaction arrival rate of 30 seconds.
This workload model is especially useful when you want to simulate workloads
that use queuing mechanisms to handle multiple concurrent requests. Typically,
application servers such as servlet engines and transaction servers—which
receive their requests from Web servers rather than end users—can be
accurately tested with the queuing model.
Verification workload
Verification test runs are especially useful when combined with SilkPerformer’s
extended verification functionality. This combination can be used for regression
testing of Web-based applications. A verification test runs a single user of a
specific user type on a specified agent computer.
This workload model is especially useful when you wish to automate the
verification of Web applications and want to begin verification tests from a
command-line interface.
Adjusting workload The Adjust Workload button on the workflow bar launches the workload wizard,
which helps you define all necessary parameters for your workload.
After specifying the simulation time for a load test, the wizard helps you
calculate the number of concurrent virtual users per user type associated with
your load test. This task is important for emulating real user behavior. If you
know the number of expected real user sessions per hour for the application
under test, the number of concurrent virtual users will be calculated based on the
results of accepted baseline tests.
Additionally, required network bandwidth per user type is displayed. This helps
you check network infrastructure for bottlenecks. Required bandwidth is
calculated based on accepted baseline results.
You can define multiple workload models in your load test project and save
them for later use, but only one workload model can be active at a time.
Accepted baseline results are associated with workload models—if you copy or
rename a workload model, the accepted baseline results will be copied and
renamed accordingly.
Defining Workload
Procedure To specify the workload of a load test:
1 Click the Adjust Workload button on the SilkPerformer workflow bar.
2 Select the workload model that most closely meets your needs (the
Increasing workload model is illustrated in this tutorial)
4 Specify simulation times for the load test. Depending on the workload
model you select, you can adjust the duration of each phase of your load
test. During the Increasing phase workload increases gradually to the
specified maximum number of virtual users. In the Steady State phase all
virtual users run. In the Decreasing phase (not applicable to the
Increasing workload model) workload decreases gradually. The Warm-
up phase (not applicable to the Increasing workload model) specifies the
time at the beginning of a load test during which measurements are not
factored into results calculations. The Measurement phase (not
applicable to the Increasing workload model) restricts time
measurements that are taken for results calculation.
5 Click Next.
6 On the Calculate the Virtual Users screen, enter the anticipated peak
number of concurrent sessions per hour in the Sessions Per Peak Hour
column to have the number of concurrent virtual users calculated
automatically.
Enter the number of concurrent virtual users you wish to run in the Max.
Vusers column or calculate the number by using Session Time data from
the accepted baseline test and providing the number of sessions you
expect per peak hour. In this manner the number of virtual users is
calculated using the following formula:
Vusers = Session Time[s] * Sessions Per Peak Hour / 3600.
7 Click Finish.
8 The Workload Configuration dialog appears, where you can check the
previously entered values. The diagram at the top of the dialog is a
graphical representation of the specified workload model. The diagram
uses the data of the user group selected in the workload list.
9 Use the workload list to configure the user groups that will be run in your
test scripts. In the User Type area, select the user types that you wish to
run in your test. All of the user types selected prior to the baseline test are
listed here.
10 In the Max. Vusers column, specify the number of virtual users to be run
for each user type.
11 To specify that the load test for a specific user type will begin at a set
period after the time given in the Start Time edit field, enter a time value
(in seconds) in the Start Time Offset (s) column.
12 Select the Automatically start monitoring checkbox to have monitoring
start automatically when load tests begin.
13 Select the TrueLog On Error option if you want SilkPerformer to
generate TrueLog files for transactions that contain errors.
14 If the test is to be executed on remote agents, select the (...) browse
button to distribute the load.
15 In the Load Test Description area, enter a description for the load test
(this is optional). This feature is provided only for your project
management needs.
18 Click Run to execute the test or click Connect to initialize the agent
connection and start the test manually from the monitor view by clicking
the Start all button.
Introduction This tutorial explains how to run and monitor load tests using SilkPerformer.
What you will learn This chapter contains the following sections:
Section Page
Overview 67
Running a Test 68
Monitoring a Test 69
Monitoring a Server 73
Overview
Running tests The next step in conducting a SilkPerformer load test is to run a full load test. To
test target servers, multiple virtual users are run by means of test scripts. A large
load test requires an appropriate testing environment set up on the local area
network, including a full complement of agent computers to host the virtual
users.
It is essential to set options for the Oracle Forms application test type, to
accurately define workloads, and to enable generation of test results that will be
needed to assess the performance of the Oracle Forms server. The logging
option however should be disabled to prevent interference with load test results.
Comprehensive information is provided to testers while load tests run. This
includes real-time information about agent computers, virtual users, and
transactions as they are conducted. In addition, real-time monitoring of the
target server is available in graphical form.
Monitoring tests Graphical displays and full textual reporting of activity on both the client side
and the server side offer easily understandable monitoring of test progress.
Comprehensive overview information about agent computers and virtual users
is available directly from the workbench where tests are conducted. There is full
control over the level of information detail offered—from a global view of the
progress of all agent computers in a test down to exhaustive detail regarding the
transactions conducted by individual virtual users. Progress information for each
agent and user is available in many categories. Run-time details for each user
include customizable, color-coded readouts on transactions, timers, functions,
and errors as they happen.
Monitoring servers In addition, real-time monitoring of the performance of the target server is
available in graphical form. Charts can display the most relevant performance
information from a comprehensive collection of the most commonly used Web
servers, application servers, database servers, and operating systems in use
today. Multiple charts can be open at the same time, and these can be juxtaposed
to provide the most relevant comparisons and contrasts. A tree-view editor
allows elements from any data source to be combined in the charts. Performance
information from the client application—for example, response times—can
easily be placed in the same chart as performance data from the server. This
enables a direct visual comparison to be made, so that you can see directly how
shortcomings on the server influence client behavior.
Running a Test
Procedure To start a load test:
1 Activate the workload you wish to use for the test. To activate a
workload, right-click it and select Activate from the context menu.
2 Click the Run Test button on the SilkPerformer workflow bar.
3 The Workload Configuration dialog appears. Confirm all workload
settings that you wish to use for the load test.
4 Click Run to start the load test.
Note Clicking the Connect button allows you to initialize the agent
connection and then start the test manually from the monitor view by
clicking the Start all button.
Monitoring a Test
Procedure To monitor all agent computers:
1 While your load test runs, view progress in the Monitor window.
2 View information about the progress of agent computers and user groups
in the top view window. Among the comprehensive statistics that are
available are status of particular agents, percentages of tests completed
on those agents, and number of executed transactions.
2 Change virtual user and time values directly in the table. Note that values
for intervals that are currently running cannot be edited.
3 Click Update to have your changes reflected in the current load test.
Monitoring a Server
Performance Explorer is the primary tool for viewing load test results. A vast
array of graphic facilities allows both real-time monitoring of the target server
while tests run and exhaustive analysis of results once tests are complete.
Exploring test results is made easy by a workflow bar with a click-through user
interface that offers enhanced drag-and-drop functionality.
In real-time monitoring, live charts provide a customizable display of the most
relevant performance information from the target server. Monitoring is available
for a comprehensive collection of the most widely used Web servers,
application servers, and database servers—across most all operating systems.
Multiple charts can be open at the same time, so that, for example, a tester can
watch a graphic display of Web server performance and operating system
performance simultaneously. A tree-view editor with drag-and-drop
functionality allows elements from any data source to be combined in charts.
After a test, the performance of the target server can be charted from both the
client side and the server side. Response time measurements display the client
perspective, while throughput data offers server-side perspective. Charts and
graphs are fully customizable, and they can contain as many or as few of the
measurements taken during tests as are required. Multiple charts, using
information from one or different tests, can be opened at once to facilitate
Introduction This tutorial explains how to analyze Oracle Forms load test results using
SilkPerformer.
What you will learn This chapter contains the following sections:
Section Page
Overview 75
Working with TrueLog On Error 76
Viewing an Overview Report 78
Viewing a Graph 90
Overview
TrueLog On Error TrueLog On Error files provide complete histories of erroneous transactions
uncovered during load tests—enabling you to drill down through real content to
analyze error conditions. TrueLog On Error files maintain histories of all client
requests and server responses. Because they present errors in the context of the
sessions within which they occur and are closely integrated with test scripts,
TrueLog On Error files are uniquely suited for root-cause analysis of system and
application faults.
Overview Reports Once a load test is complete, Performance Explorer provides an overview report
for the load test. These reports include the most important test results in tabular
and graphical form.
Graphs Performance Explorer offers a comprehensive array of graphic features for
displaying test results, primarily in user-defined graphs, with as many elements
as required. The results of different tests can be compared, and there are
extensive features for server monitoring.
4 Using the Step through TrueLog dialog, you can advance through all
Forms windows (OraFormsSetWindow calls), all API calls (each API
node), or all errors. Select the appropriate radio button on the dialog.
TrueLog On Error files will be searched sequentially, as they were
recorded in time.
5 Click the Find Next button to advance to the first Forms window, API
call, or error. Error messages are displayed on the Info tab in the lower-
right window. API nodes that contain replay errors are tagged with red
“X” marks in the tree view.
Overview reports include many predefined text areas. You can edit these text
areas based on your needs. Use the click here to edit text links to change text and
save results with templates to be used later.
6 Click the ranking tab to advance to the ranking section of the report. The
ranking section ranks Web pages in order of slowest page download time
(i.e., those pages with the longest page time are listed first).
7 Click the user types tab to advance to the user types section of the report.
This section provides detailed measurements for each user type in tabular
form. The measurements include transaction response times, individual
timers, counters, and response time and throughput measurements
related to Oracle Forms. In addition, errors and warnings for user groups
are listed.
8 Click a user type link to advance further down the report, to user type
profile settings and transaction response time measurements for
individual user types and controls.
Custom charts Custom charts can be edited and added to overview reports. You can save your
changes as templates to be displayed for each summary report.
Performance Explorer then inserts the chart you have selected into the custom
charts section of the overview report.
3 The selected template will then be used for creating new overview
reports for all other projects.
Viewing a Graph
Procedure To view results in a graph:
1 Click the Explore Results button in the SilkPerformer Workflow bar.
2 The Explore Results dialog appears.
3 Click the Performance Explorer button.
4 Performance Explorer opens.
6 Drag any other relevant timers from the tree view into the graph. Server
side monitoring results can even be selected for display alongside load
test results.
To expand a time interval in your graph, click the left edge of the area you wish
to expand and drag to the right edge of the area. The area highlights as you drag,
and is expanded when you release the mouse button.
D M
Monitoring
Data files, multi-column 31 Custom templates 50
Data Source Wizard 52 Starting automatically 50
dclparam 27 Monitoring tests 69
dclrand 27 Multi-column data files 31
Detailed charts 88
E O
Overview Report Wizard 85
Errors 37
F P
Parameter Wizard 26
Find differences 24 Parameters
Creating new for HTML 28
G From random variables 28
Performance Explorer 73, 75, 87
Graphs 73, 75, 88 Projects
Viewing 90 Defining new 3
Reusing 2
U
User data
Customization 23, 26
Parameterized 23
User profiles
Defining 40
User types 46, 78, 82
V
Variables, random 28
Verifications
Adding 23
Content 32
Virtual Users
Calculating 63