Skip Headers
Oracle® Application Testing Suite OpenScript User's Guide
Version 9.10 for Microsoft Windows (32-Bit)

Part Number E15488-03
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

13 Using the Siebel Load Test Module

The Siebel Load Test Module provides support for load testing of Siebel web applications. The Siebel module is an extension to the HTTP Module. The OpenScript Siebel Load Test module includes the following features:

13.1 Load Testing Siebel Applications

The following is an outline of the procedures and best practices used to load test Siebel applications with the OpenScript application.

13.1.1 Prerequisites

The instructions in this document assume the following prerequisites:

  • Testing hardware/environment is available.

  • The Siebel applications are installed on a Siebel Server.

  • The Oracle Application Testing Suite have been installed on a testing machine.

  • The test machine can access the Siebel applications.

  • Some steps may require system administrator level privileges for the Siebel Server.

13.1.2 Setting Up Siebel Load Test Environments

The load test environment should approximate as closely as possible a working Siebel deployment environment. However, hardware cost constraints may be a limiting factor. The following sections provide recommendations about basic test system configurations. Additional test system configurations can be used based upon hardware and network availability.

13.1.2.1 Basic Configuration

The basic n-tier configuration should consist of the following systems:

  • Web Server

  • Siebel Server

  • Database Server

  • Database Storage

See the Siebel Installation Guide in the in the Siebel document bookshelf for information hardware and Siebel installation and any licensing requirements.

Note:

In general, Siebel applications are more memory intensive than CPU intensive. If trade-offs need to be made in test hardware decisions, memory should be given higher consideration than CPU speed.

13.1.2.2 Floating Load Balancing Test Server

In addition to the basic tier configuration, various load balancing tests should include another system that can be configured on a single system as a movable server between tiers. The floating load balancing server can be used to test fail-over of clustered servers and recovery of servers if one server (on any one of the tiers) in a multiple server configuration goes down.

A floating Server could be configured as Web Server, Siebel Server, and Database Server on the same machine.

13.1.2.3 Clustered Web Server Configuration

The clustered Web server configuration tests two or more Web servers accessing a single Siebel server. This configuration is used to test how Siebel and the database server handles load balancing from multiple users accessing from multiple Web browsers and systems.

13.1.2.4 Clustered Siebel Servers Configuration

The clustered Siebel server configuration tests two or more Siebel servers handing Web traffic and accessing a single database server. This configuration is used to test Web traffic load balancing on clustered Siebel servers and how the database server handles load balancing from multiple Siebel servers accessing from multiple systems.

13.1.2.5 Clustered Database Server Configuration

The clustered database server configuration tests two or more database servers handing Siebel data and accessing the database storage. This configuration is used to test Siebel data load balancing on clustered database servers and how the database storage handles load balancing from multiple database servers accessing from multiple systems.

Notes:

  • Siebel web applications use Cookies to maintain the state information.

  • Each User must be logged into the same Siebel Application Server as first logged into.

  • Do not use round robin load-balancing for clustered Siebel servers

13.1.3 Siebel Correlation Library

OpenScript includes a Siebel Test Automation library that Oracle Application Testing Suite applications can communicate with when creating Scripts. The Siebel Correlation Library is installed automatically as part of he OpenScript installation.

13.1.4 Script Creation Techniques

The following are tips and techniques to use when creating Siebel load test scripts using the Oracle Functional Testing application:

  • Disable browser caching to make sure the pages are returned from the server rather than the browser cache.

  • Record actions from login through logout to make sure parameters are passed properly between page navigations.

  • Record actions slowly in the Siebel environment to make sure the recorder records all actions to the OpenScript script. If possible, watch as the script pages are added to the script tree.

  • Close the external browser window after recording.

  • Save the script. When you save a Siebel proxy-recorded script, OpenScript automatically creates a Java Agent version of the script in the workspace. Depending upon the size of the script, the file save operation may take some time.

13.1.5 Recording Scripts for Load Tests

Siebel load testing scripts are recording in an external browser window using the OpenScript proxy recorder. When you record a Siebel Load Test Script, OpenScript automatically starts the proxy recorder and opens an external browser window when you click the Record button on the toolbar. Once the external browser opens, you can load your Siebel application and start recording page navigation.

OpenScript does not support record and playback of the CTI Toolbar. URLS with the SWECmd=WaitForCmd are filtered out by default.

13.1.6 Starting the Siebel Application

Start the Siebel application in the browser using the start URL:

http://hostname/application/start.swe

where hostname is the machine name or IP address of the Siebel server and application is the Siebel application to start. For example:

http://siebelserver/callcenter_enu/start.swe

Enter the start URL and command into the browser address. As you navigate pages, the OpenScript proxy recorder records page navigation to the Script tree. You can view the nodes in the script tree and in the Java code.

13.1.7 Playing Back Scripts

OpenScript playback provides a convenient way to test and verify the page navigation recorded to the script.

  1. Open a Siebel load test script in OpenScript.

  2. Select Playback from the Script menu or click the toolbar button to verify the script plays back correctly.

  3. Select items in the Results view and review the tabs in the Details view to check for any errors. Click the Headers tab to view request and response header data.

  4. Verify that the response headers do not contain content or data value errors. One type of content error to check for is a "204 No Content" error. For example:

    HTTP/1.1 100 Continue
    
    Server: Microsoft-IIS/5.0
    
    Date: Fri, 20 Mar 2009 15:51:47 GMT
    
    X-Powered-By: ASP.NET
    
    HTTP/1.1 200 OK: 
    
    Server: Microsoft-IIS/5.0
    
    Date: Fri, 20 Mar 2009 15:51:47 GMT
    
    X-Powered-By: ASP.NET
    
    content-language: en
    
    cache-control: no-cache
    
    content-type: text/html;charset=UTF-8
    
    content-length: 3762
    

See the Troubleshooting Load Testing Issues section in the Testing Siebel eBusiness Applications documentation in the Siebel document bookshelf for additional examples of common issues to resolve for load test scripts.

13.1.8 Resolving Script Issues

Each navigation node in the script tree shows the URL, Post Data, Recorded Headers, and Custom Dynamic values recorded to the script.

Expand nodes in the script tree to view the navigation sequence.

The PostData node shows the Siebel entities included in the page navigation. OpenScript Siebel Load Testing recorder automatically recognizes and parameterizes Siebel entities for Load testing. Playing back a script verifies that the recorder parameterized the Siebel entities properly.

The tree view nodes show the automatically created dynamic value names and Siebel path for parameters required for the next page. The name and Siebel path are shown as variable nodes under the post data node. It also shows automatically parameterized Siebel functions in curly braces, for example:

SWEC={{@SWECount}}

If a script does not playback correctly, or has errors, you may need to add custom dynamic values for Siebel parameters.

Check the PostData name/value pairs for the page navigation to verify the Siebel entities have been properly parameterized during recording. Any Siebel parameters that pass dynamic data from one page to the next should have custom dynamic values.

The PostData on the next page shows the destination of the dynamic values passed from the previous page.

13.1.8.1 Siebel Entities to Parameterize

The following table shows some common Siebel commands that may appear in the PostData of the page navigation:

Siebel Command Name
SWEACn Application Count
SWEBMC Bookmark
SWEBRS Browser Retry Sequence
SWEBID Browser ID
_sn Cookie
SWEFI Form ID
SWEVLC View Layout Cache
SWETS Timestamp
SWEC SWE Count
SWERowId, SWERowIds Row IDs
s_#_#_#_# Record Data

See the SWE API section of the Siebel Portal Framework Guide in the Siebel document bookshelf for additional information about Siebel Web Engine (SWE) commands, methods, and arguments.

13.1.9 Using Databanks with Siebel

Data values in Siebel post data strings can be parameterized in a script and connected to a Databank file that provides input data for data-driven tests. The OpenScript script editing options let you specify additional Siebel method names that use parameterized data.

  1. Record or open a Siebel script in OpenScript.

  2. Select Find/Replace from the Edit menu.

  3. Type SWEMethod and click Find.

  4. Continue clicking Find until you locate the SWEMethod that requires databanked values.

    For example, the PostData in a script page may contain the following record data name=value pair:

    s_1_2_49_0=doctest
    

    The SWEMethod that posts the data is SWEMethod=Mirror Add GotoView.

To use Databank parameters for the data values:

  1. Select Script Properties from the Script menu.

  2. Select the Assets type.

  3. Select Databanks.

  4. Click Add.

  5. Select the Repository from the My Repositories tree or file location from the My Computer tree.

  6. Select the Databank file from the repository or file folder.

  7. Enter an alias name to use for the Databank or leave the default alias name. The default alias name is the name of the .CSV Databank file.

  8. Click OK.

  9. Click OK to add the Databank file.

  10. Right click the parameter node in the script tree that you want to substitute with a databank variable and select Substitute Variable.

  11. If necessary expand the Databanks node and select the databank field you want to use as the input parameter data.

  12. Click Finish.

  13. The script node name/value pair changes to show the Databank alias name, field name, and recorded value as a variable value. For example:

    SWEUserName={{siebel_data.login,sadmin}}
    
  14. Click the Playback toolbar button to playback the script once to verify the it plays back correctly.

  15. Click the Iterate toolbar button to playback the script with a Databank.

  16. Set the Iteration count, starting record, and data usage and click OK.

  17. Verify the script plays back correctly.

  18. Save the script.

  19. In the Oracle Load Testing application, add the script to the Scenario.

  20. Double-click the script name in the Scenario to define the Scenario details for the script.

  21. Make sure Java Client is selected as the User mode.

  22. Set the Use Databanks setting is set to True (if the Use Databanks setting is not shown, open the Scenario Details and set the option in the Main section).

  23. Click Run Test and run the load test.

See the following sections of this document for details about defining ServerStats metrics and running tests in the Oracle Load Testing console. See the Oracle Load Testing User's Guide for additional information about using the features and options in the Oracle Load Testing application.

13.1.10 Preparing the Siebel Server Manager Commands

The Oracle Load Testing ServerStats uses the Siebel Server Manager program to retrieve statistics from the Siebel Server while running Virtual Users in a load test. The ServerStats Metrics need to be configured to run the Siebel Server Manager with input commands from a batch file and a file containing the input commands. The batch file and command input file must be created and placed on the Siebel Server where the ServerStats Metrics can access and run the batch file. This section explains the basic requirements of the batch file and command input file.

Note:

Starting the Siebel command-line server-monitoring program may require system administrator level privileges for the Siebel server. The Oracle Load Testing system testing the Siebel server needs the required user permissions to access the Siebel server and run the Siebel Server Manager program from the local host.

13.1.10.1 Creating the Batch File

Use any ASCII editor to create a batch file and a commands file to run the Siebel Server Manager program. The batch file name will be referenced in the Oracle Load Testing ServerStats metrics. You can use any name for the batch file (for example srvrmgr_cmds.txt).

Use the following syntax to specify the command in the batch file to start the Siebel Server Manager program:

\\machine IP\path to Siebel server bin\srvrmgr -g gateway -e enterprise -u username  p password -i input_File

Parameter Description
machine IP

The machine name or IP address or the Siebel Server.
path to Siebel server bin

The drive and directory path to the Siebel Server Manager program on the Siebel server.
gateway

The Network address of the Siebel Gateway Name Server machine.
enterprise

Siebel Enterprise Server name.
username

Siebel Server administrator username.
password

Siebel Server administrator password.
input_File

The name of a file containing commands to run in the Server Manager program.

For additional information about using the Siebel command-line server-monitoring program (srvrmgr) and command line flags, see the Siebel System Administration Guide Version 7.7 (or newer) documentation in the Siebel document bookshelf.

The following is an example of a command in a batch file to start the Siebel Server Manager:

\\10.16.111.00\c$\sea77\siebsrvr\bin\srvrmgr -g gateway -e siebel -u sadmin -p sadmin -i srvrmgr_cmds.txt

13.1.10.2 Creating the Command Input File

The command input file contains the commands to run in the Siebel Server Manager program. The command input file will be automatically run by the batch file at each Oracle Load Testing ServerStats Collection Interval. The example in the previous section uses the file name srvrmgr_cmds.txt as the input file in the srvrmgr command. You can use any file name as long as the batch command matches the file name of the input file.

srvrmgr_cmds.txt is a text file that contains the sequence of commands to run in the Siebel Server Manager program. The following is an example of an input file with Server Manager commands:

configure list statistics show STAT_ALIAS, CURR_VAL

list statistics

quit

The configure list statistics show STAT_ALIAS, CURR_VAL command specifies which Siebel Statistics to return from the srvrmgr program. STAT_ALIAS, CURR_VAL are the column names of the data values to return. STAT_ALIAS is the alias for the Statistic name. CURR_VAL is the current value for the statistic. quit closes the Siebel Server Manager session.

The list statistics command returns the statistics to Siebel Server terminal. The Oracle Load Testing Data Collector uses the Regular Expressions defined in the ServerStats metrics to extract specific data from the statistics returned from the srvrmgr program.

You can configure the srvrmgr commands to provide any of the available statistics data that can be returned by the srvrmgr program. See the Siebel System Administration Guide Version 7.7 (or newer) documentation in the Siebel document bookshelf for additional information about Siebel Server Manager commands.

13.1.10.3 Siebel Statistics

The srvrmgr program returns the following statistics:

Name Alias Description
Average Connect Time AvgConnTime Average connect time for Object Manager sessions
Average Reply Size AvgRepSize Average size of reply messages (in bytes)
Average Request Size AvgReqSize Average size of request messages (in bytes)
Average Requests Per Session AvgReqs Average number of requests per Object Manager session
Average Response Time AvgRespTime Average Object Manager response time
Average Think Time AvgThinkTime Average end-user think time between requests
Avg SQL Execute Time AvgSQLExecTime Average time for SQL execute operations (in seconds)
Avg SQL Fetch Time AvgSQLFetchTime Average time for SQL fetch operations (in seconds)
Avg SQL Parse Time AvgSQLParseTime Average time for SQL parse operations (in seconds)
CPU Time CPUTime Total CPU time for component tasks (in seconds)
Elapsed Time ElapsedTime Total elapsed (running) time for component tasks (in seconds)
Maximum Peak Memory Usage MaxPeakMemory Peak Mem used by task. Rolls up differently from MinPeakMemory
Minimum Peak Memory Usage MinPeakMemory Peak Mem used by task. Rolls up differently than MaxPeakMemory
Num of DBConn Retries NumDBConnRtrs Number of Retries due to DB Connection Loss
Num of DLRbk Retries NumDLRbkRtrs Number of Retries due to Deadlock Rollbacks
Num of Exhausted Retries NumExhstRtrs Number of Times All Retries are Exhausted
Number of SQL Executes SQLExecs Total number of SQL execute operations
Number of SQL Fetches SQLFetches Total number of SQL fetch operations
Number of SQL Parses SQLParses Total number of SQL parse operations
Number of Sleeps Sleeps Total number of sleeps for component tasks
Object Manager Errors Errors Number of errors encountered during Object Manager session
Reply Messages RepMsgs Number of reply messages sent by the server
Request Messages ReqMsgs Number of request message received by the server
SQL Execute Time SQLExecTime Total elapsed time for SQL execute operations (in seconds)
SQL Fetch Time SQLFetchTime Total elapsed time for SQL fetch operations (in seconds)
SQL Parse Time SQLParseTime Total elapsed time for SQL parse operations (in seconds)
Sleep Time SleepTime Total amount of sleep time for component tasks (in seconds)
Tasks Exceeding Configured Cap TskXcdCfgCpt Number of tasks stated that exceeded configured capacity
Tests Attempted TestsAttempted Number of tests that were started
Tests Failed TestsFailed Number of tests that failed
Tests Successful TestsSuccessful Number of tests that were successful
Total Database Response Time DBRespTime Total Database Response/Processing Time (milliseconds)
Total Reply Size RepSize Total size (in bytes) of reply messages
Total Request Size ReqSize Total size (in bytes) of request messages
Total Response Time RespTime Total Object Manager response time (in seconds)
Total Tasks TotalTasks Total number of tasks completed for server components
Total Think Time ThinkTime Total end-user think time (in seconds)

For additional information about monitoring Siebel servers, see the System Monitoring and Diagnostics Guide for Siebel eBusiness Applications Version 7.7 (or newer) documentation in the Siebel document bookshelf.

13.1.10.4 Batch File Location

Once you create the batch file and command input file, copy the files to the Oracle Load Testing local host in the C:\Oracle\DataCollector directory.

13.1.11 Defining ServerStats Metrics

Oracle Load Testing ServerStats metrics are used to collect the data from the Siebel Server Manager program. This section explains how to set up Virtual Agents in ServerStats (Oracle Load Testing) to run the Siebel Server Manager program (srvrmgr) from the command-line interface.

  1. Start the Oracle Load Testing application.

  2. Select ServerStats from the Tools menu.

  3. Select the Metrics node to view the metric categories.

  4. Click New.

  5. Enter a name for the metric.

  6. Enter a description for the metric.

  7. Select Virtual Agent as the Metric type.

  8. Click Next.

  9. Enter the name of the batch file you created to run the srvrmgr program in the Command Line field.

  10. Enter a Regular expression to parse the data returned from the srvrmgr program in the Matching Regexp field. For the Server Manager srvrmgr program commands:

    configure list statistics show STAT_ALIAS, CURR_VAL
    
    list statistics
    
    quit
    

    use the following format for the Regular Expression:

    /aliasName\s+([0-9]+)/ 
    

    For example, for the server statistic Average Connect Time, the Regular Expression would be as follows:

    /AvgConnTime\s+([0-9]+)/
    
  11. Enter the Key of value to use to parse the Regular Expression. The key of value specifies which set of parenthesis in the Regular Expression is the value to return. For Siebel statistics using the above Regular Expression, set the value to 1.

  12. Enter the Sample Multiplier value. The following window shows a metric configured to retrieve the Average Connect Time.

  13. Click the Test button to get to the Test Setup window:

  14. Click OK to start the test.

  15. Verify the results returned the correct data value for the statistic from the Siebel Server Manager program and did not return any errors.

    Note: Manually run the srvrmgr program and list statistics on the Siebel Server to verify the Regular Expression returns the correct data value/format.

  16. Click Close.

  17. Click Finish. The New metric appears in the Metrics tree under the User Defined node.

  18. Repeat steps 4-17 to configure additional Siebel metrics in ServerStats.

For additional information about monitoring Siebel servers, see the System Monitoring and Diagnostics Guide for Siebel eBusiness Applications Version 7.7 (or newer) documentation in the Siebel document bookshelf.

13.1.12 Defining a ServerStats Configuration

Oracle Load Testing ServerStats configurations are used to specify which metrics to include when collecting the data from the Siebel Server Manager program and update Oracle Load Testing graphs and reports. You can also create a metric profile for Siebel metric and use the profile as part of the configuration. This section explains how to define a ServerStats configuration and add metrics to the configuration.

  1. If necessary, start Oracle Load Testing and select ServerStats from the Tools menu.

  2. Click the Configurations node to view existing configurations.

  3. Click New.

  4. Enter a name for the configuration.

  5. Enter a description for the configuration.

  6. Click Save. The configuration window adds new options for adding and updating monitors:

  7. Click Add a new monitor.

  8. Expand the User defined node and select a Siebel metric.

  9. Click Next.

  10. Set the monitored system, data collector, and collection interval.

  11. Click Next. The metric is added to the list of monitors in the configuration.

  12. Click Finish.

  13. Repeat steps 7-12 to add additional metrics to the configuration.

  14. Click Test.

  15. Verify the results returned the correct data values for the statistics from the Siebel Server Manager program and did not return any errors.

  16. Click Close.

  17. Click Update.

13.1.13 Importing Pre-Configured Metrics and Profiles to Oracle Load Testing

If you have pre-configured files for Siebel metrics and metric profiles, you can import the files into Oracle Load Testing rather than manually configure the metrics and profiles.

  1. If necessary, start the Oracle Load Testing application.

  2. Select Import File from the Tools menu.

  3. Select the File Type. The ServerStats file types are as follows:

    Type Extension
    ServerStats Metric .metric
    ServerStats Metric Profile .hwm
    ServerStats Configuration .config

  4. Click Browse to select the file location.

  5. Select the drive and directory location.

  6. Select the file to import.

  7. Click Open.

  8. Click Upload.

  9. Click OK.

  10. Repeat steps 4-9 for each file to upload.

13.1.14 Running Load Tests in the Oracle Load Testing Console

Select the script or a user-defined profile from the Select scripts & user-defined profiles list.

  1. Select a script.

  2. Click Add to scenario.

  3. Set the # VUs.

  4. Set the System to use to test.

  5. Set the User Mode to Java Client.

  6. Set the Iteration Delay to 1.

  7. Set the VU Pacing (Think Time) to Recorded.

  8. Click Add to Autopilot.

  9. Set the Start and Stop test options.

  10. Set the Virtual User Rampup.

  11. Select the ServerStats configuration you defined earlier.

  12. Click the Run Test button.

  13. Specify the Session to Save.

  14. Click OK.

13.1.14.1 Viewing VU Grid

The Virtual User grid lets you view the progress of the script playback for each virtual user. If necessary, click the Watch VU Grid tab to switch to the grid.

13.1.14.2 Viewing ServerStats

The ServerStats display lets you view the Siebel Server statistics in real time using the ServerStats display window. Select ServerStats Display from the Tools menu to open the ServerStats display.

13.1.15 Generating Graphs and Reports Using Oracle Load Testing

You can generate graphs from Virtual User and ServerStats data during run time and for post testing analysis.

13.1.15.1 Creating Custom Runtime Graphs

The View Run Graphs tab lets you generate custom graphs during test runtime.

  1. While the load test is running, click the View Run Graphs tab.

  2. Click New Graph. A new blank graph tab is added to the Reports and Graphs section.

  3. Scroll down to the Filters section.

  4. Enter a graph name.

  5. Expand ServerStats Monitors in the Available Data Series tree.

  6. Select the data series to add to the graph.

  7. Click Add Data Series.

  8. Repeat to add other monitors to the data series.

  9. Specify the Plot Data Series and Y-Axis Scaling options.

  10. Click Generate Graphs. The custom graph appears as a new tab in the Reports and Graphs section.

13.1.15.2 Creating Custom Reports

The Create Reports tab lets you generate custom reports and graphs after the test for post-testing analysis.

  1. Click Create Reports tab.

  2. Click New Graph.

  3. Select the ServerStats session as the Available Data Series.

  4. Expand Available Data Series tree.

  5. Select the data series to add to the graph.

  6. Click Add Data Series.

  7. Click Generate Graph. The custom graph appears as a new tab in the Reports and Graphs section.

    You can export the graph to Adobe PDF, Microsoft Excel, or Comma Separated Value formats.

The Create Reports tab also lets you retrieve session performance reports after the test for post-testing analysis.

  1. If necessary, click Create Reports tab.

  2. Click the Sessions tab in the Reports and Graphs section.

  3. Select the Session. The report appears in the Reports and Graphs section.

    You can export or print the session report.

13.2 Setting Siebel Correlation Preferences

To set Setting Siebel Correlation preferences:

  1. Start OpenScript.

  2. Select OpenScript Preferences from the View menu.

  3. Expand the OpenScript node and the Correlation category.

  4. Expand the Siebel 7.7 library.

  5. Select or clear the check boxes to enable or disable specific rules.

  6. Click the Add or Edit buttons to modify rules in the library. See "Siebel Correlation Library" for a list of correlation rules.

  7. Click OK.

13.3 Siebel Correlation Library

The Siebel correlation library defines the correlation rules for Siebel (Siebel versions 7.7, 7.8, 8.0, 8.1). The correlation rules specify the variable names and regular expressions to use to replace dynamic data in Siebel applications and navigations.

The default Siebel correlation library provided with the OpenScript Siebel Module includes the following correlation rules:

13.4 Siebel Script Functions

Dymanic values returned from a Siebel server can be replaced by Siebel-specifc OpenScript functions. The following script functions are available specifically for Siebel scripts when you substitue a variable value: