16
By Shital Nanna & Pavithra M Performance Engineering CoE team | BUSINESS APPLICATION SERVICES | | WIPRO TECHNOLOGIES | Neoload and Oracle Apps Proof of Concept February 2012 Neoload is the Performance Testing tool implemented on Java. This tool can be used to record the traffic between the Browser and the Server and simulate load with multiple users.

Neoload and Oracle Apps - Neotys · PDF filePoC on Neoload and Oracle Application 4 Scenario used for Oracle Apps Scripting The scenario ‘Create Miscellaneous Transaction’ was

  • Upload
    lycong

  • View
    238

  • Download
    3

Embed Size (px)

Citation preview

TeamQuest Capacity Modelling on PHP Application

By Shital Nanna & Pavithra M

Performance Engineering CoE team

| BUSINESS APPLICATION SERVICES | | WIPRO TECHNOLOGIES |

Neoload and Oracle Apps

Proof of Concept

February 2012

Neoload is the Performance Testing tool implemented on Java. This tool can be used to record the traffic between the Browser and the Server and simulate load with multiple users.

PoC on Neoload and Oracle Application

2

Contents

Neoload and Oracle Apps - Introduction ............................................ 3

Performance Scripting Approach ......................................................... 3

Configure the Neoload Tool .........................................................................3

Scenario used for Oracle Apps Scripting .....................................................4

Record Oracle Applications ..........................................................................5

Script Anatomy ..............................................................................................7

Request Body......................................................................................................... 7

Response Body ...................................................................................................... 7

Customizing the Performance Script ...........................................................8

Process – Correlation ............................................................................................ 8

Process - Parameterization ................................................................................... 9

Process – Validation [Check Virtual User] .......................................................... 10

Test Execution ................................................................................................11

Report Generation .........................................................................................12

Challenges Faced and Guidelines.................................................................12

Productivity Factor ........................................................................................13

Appendix ................................................................................................. 15

References .......................................................................................................15

About Authors ........................................................................................ 15

About Wipro Technologies ................................................................... 16

PoC on Neoload and Oracle Application

3

Neoload and Oracle Apps - Introduction

Oracle Applications provides an ERP suite that covers various modules which an Enterprise will be

using for their proper functioning.

Neoload is the performance testing tool to measure the performance of the web applications and

provide pragmatic solutions to developers to help optimize performance before the application goes

into production on the web application

Neoload works by simulating traffic up to thousands of users in order to determine application

performance under load, effectively analyzing response times and the number of the simultaneous

users which the web application is able to handle.

Neoload monitors the newest web, database and application servers such as JBoss application server,

HP-UX 11, Weblogic, WebSphere, Tomcat, and MySQL database.

Performance Scripting Approach

A procedural approach is followed to perform this activity. The approach is represented

diagrammatically below:

Configure the Neoload Tool

The following configurations were done to setup the Neoload ready for Oracle Apps Performance

Testing

1. Copy the latest version of frmall.jar to the Neoload machine

(Neoload\lib\plugins\ext\frmall.jar)

2. Update the JAR file in the CLASSPATH (under Environment Variables)

Note: This is to ensure that the XML request and XML response are visible properly which allows the customization

3. Open the Neoload Tool

PoC on Neoload and Oracle Application

4

Scenario used for Oracle Apps Scripting

The scenario ‘Create Miscellaneous Transaction’ was used to script using Neoload performance Tool.

The step-by-step navigation is in tabulated below:

Create Miscellaneous Transaction

TRANSACTIONS STEPS DATA

Oracle_Apps_Launch Launch URL -

http://patorasrvr.wipro.com:8000/OA_HTML/RF.jsp?functio

n_id=1032925&resp_id=-1&resp_appl_id=-1&security_group_id=0&lang_code=US&params=IBV5Xazm.o

pT.fX7Q2QJLxB2udxqY3PJjJXzOD58iWw

Oracle_Apps_Login Enter the Username and the Password pavithra

perf@123

T01_Navigator 1.Click on the Inventory 2.Click on the Material Transaction

T02_Select_Organization

Select an Organization VI-Vision Operations

T03_Inventory 1.Click on Transaction 2.Click on Miscellaneous Transaction

3.Click on Open

T04_Miscellaneous_Tr

ansaction

In the Miscellaneous Transaction Window

1.Enter date 2.Enter Type

3.Click on Transaction Lines

Miscellaneous Issue

T05_Miscellaneous_Iss

ue

In the Miscellaneous Issue Window

1.Enter Item 2.Enter Sub inventory

3.Enter Units of Measure(UOM)

4.Enter the Quantity

5.Check the On Hand quantity in available text box

1001

Stores Ea-(Each)

1

T06_Account In the Operation Accounting Flex Window 1. Enter Department

2. Enter Account and click on ok

3.Go to file and then save

000-(No Department) 1001-(Asset)

T07_View_Count 1.Close the Miscellaneous Issue Window 2.In the Miscellaneous Transaction Window enter date and type

3.Click on Transaction Lines

Miscellaneous Issue

T08_View_Miscellane

ous_Issue

In the Miscellaneous Issue Window

1.Enter Item 2.Enter Sub inventory

3.Check the On Hand quantity in available text box

1001

Stores

PoC on Neoload and Oracle Application

5

Oracle_Apps_Logout 1.Go to File-->Close The Form 2.Go to File-->Exit Oracle Application

3.Click on Logout

Record Oracle Applications

Once the configuration is done, the Neoload is ready for Oracle Apps scripting. The HTTP is selected

for recording.

Note: As a best practice, it was ensured the cookies were cleared before starting the recording

1. Created a ‘Container’ called T01_Launch as the 1st transaction for the application Launch

2. Created a ‘Container’ called T01_Login

PoC on Neoload and Oracle Application

6

3. Created a ‘Container’ called T05_Miscellaneous_Issue and committed a transaction of type

‘Miscellaneous Issue’. On successful commit, the Quantity on Hand is reduced by the quantity

configured in the Transaction.

4. After saving the form, review the Quantity available by revisiting the page and searching for the

Item / Sub inventory combination. This is for validation.

5. After finishing the recording Neoload finalizes the recording process and script is generated

6. In post recording wizard selected ‘Skip this step’ option and clicked on finish

PoC on Neoload and Oracle Application

7

Script Anatomy

Request Body

The request that is sent from the browser through the thick client (Java Applet) is in the form of XML.

The XML request for a typical request ‘Save Miscellaneous Transaction’ is found below:

Response Body

The response from the Oracle Apps web server is also in XML format as received by the Java Applet

and rendered on the browser. A typical XML response for the event ‘Tabbing next from the sub-

inventory’ which retrieves the Available quantity and On-hand quantity is displayed below:

PoC on Neoload and Oracle Application

8

Customizing the Performance Script

Process – Correlation

After recording of the script done the correlation was done for the dynamic value ‘icx_ticket’ as below:

1. Used ‘Flags’ for checking where exactly the icx_ticket value is present

2. Selected the request for the first occurrence for icx_ticket

3. In ‘Recorded response’ tab found the icx_ticket value

4. After that in ‘Variable Extrator’ created a new variable a called ‘icx’ for extracting the value

PoC on Neoload and Oracle Application

9

5. Replaced the dynamic value of icx_ticket with created variable extractor (icx)

6. In the same way done the correlation for jsessionid to extract its dynamic value

Process - Parameterization

Done parameterization for login with two different users as below:

1. First created the ‘.csv’ file in which gave two usernames

2. Then created a new variable called Login with varibale type as ‘File’

PoC on Neoload and Oracle Application

10

3. Replaced the username with created variable

Process – Validation [Check Virtual User]

The following steps were followed for validating the functionality executed by the script.

1. Correlated the Quantity on Hand ‘before’ and ‘after’. The variables were named as ‘Qty_Before’

and ‘Qty_After’

2. Added the Java script to the script which prints the value of Qty_Before and Qty_After

PoC on Neoload and Oracle Application

11

3. Checked the script by executing once using ‘Check Virtual User’ button

4. Validated the output message in the log as printed through the Java script. If they Qty_After is

reduced on virtue of running the script (‘Create Misc Transaction’), the script is successful.

Test Execution

Configure the settings in ‘Runtime’ to run the test for 2 users 4 iterations

PoC on Neoload and Oracle Application

12

Report Generation

After execution of the test report will be generated in ‘Reports’ tab by selecting ‘Generate Report’

button

Challenges Faced and Guidelines

The following challenges were faced during the Proof of concept

S.No Challenge Mitigation

1 Identifying the values that should be extracted (correlated)

Run the check VU and look at the result. If there are errors, select the related pages, there must dynamic content (or just on the

PoC on Neoload and Oracle Application

13

page before). Also, another way is to make two similar records and comparing the parameters.

2 The request body was not displaying XML rather a junk characters

<frmall.jar in the class path> from OracleHome in Neoload installation folder

3 Scripts created using the ‘commercial’ license cannot be customized and saved in the computer that has ‘non-commercial’ license

This is the licensing feature of Neoload Acquiring the ‘Commerical’ license is the only choice

Productivity Factor

Since the Request and Responses are in XML format, the following advantages are present in Neoload

scripting. These advantages improve the productivity and maintenance factor. This comes handy if

there are multiple roll-outs in Oracle Applications.

Page Screenshot display after the recording - For each page/request, the snapshot taken while

recording is displayed when the user traverses across the scripts. This allows the performance test

engineer to find out the place which response to be extracted (correlated). This snapshot feature is

seldom available in other commercial tools.

Readability of scripts – this is the biggest advantage and well displayed compared to any other

commercial performance testing tools since the Request and Responses are visible as XMLs

PoC on Neoload and Oracle Application

14

Recording the scripts is significantly faster – this is because, the Neoload tool does not hook-up

inside the browser ‘process’ which will cause more CPU overheads and larger Memory footprint.

Instead, the Neoload tool acts as a proxy between the Client and the Server trapping all the

requests that traverse between them

Ease of Variable Extraction-

1. The validation of ‘extraction’ configuration is instantly visible which allows the performance test engineer to check what value was retrieved using the ‘Starting with’ and ‘Ending with’

configurations

PoC on Neoload and Oracle Application

15

2. The usage of variables (both inclusive the static and dynamic) is very easy and syntax mistakes

can be avoided due to the context-sensitive drop-down

JavaScript feature for customization - Any client-side logic that happens at the java applet can be

incorporated using the JavaScript feature of the Neoload.

However, this was not done in the test case that was picked up for this proof of concept

Shared Container feature - The common transactions like ‘Launch’, ‘Login’, ‘Select Responsibility’

can be grouped under shared container which is a common pool for all other Virtual User scripts.

Hence, the logins can be parameterized at a central place

Neoload is Faster-

Factor Neoload Other Performance Tool

Recording of the script

For recording of the ‘Create Miscellaneous Transaction’ scenario it took 20 minutes

For recording of the ‘Create Miscellaneous Transaction’ scenario it took 30 minutes

Variable Extraction (Correlation)

It is easy with the help of ‘Flags’ and need to give only ‘Staring with’ (Left boundary) and ‘Ending with’ (Right boundary) fields. Took 10 minutes

For correlation we have to find where exactly the dynamic value is coming and need to write the code for the same. Took 20 minutes

Parameterization For parameterization it took only 5 minutes

For parameterization it took 5 minutes

Checking (Reply) of the script

Replay of the script is comparatively faster and took only 2 minutes

In other tools replay of the script is slower and took 5 minutes

Appendix

References

Neoload help Documentation

Application specification and Test cases

About Authors

Shital Nanna, is Performance Testing engineer in Wipro Technologies. She is a B.E. in Electronics and

Communication Engineering from Pune. Her main areas of expertise are Performance Testing with

tools like LoadRunner, Neoload and JMeter across technologies like Web, SAP and Oracle Apps.

PoC on Neoload and Oracle Application

16

Pavithra M, is Performance Testing engineer in Wipro Technologies. She is a B.E. in computer from

Coimbatore. Her main areas of expertise are Performance Testing with tools like LoadRunner,

Neoload.

About Wipro Technologies

Wipro is the first PCMM Level 5 and SEI CMMi Level 5 certified IT Services Company globally. Wipro

provides comprehensive IT solutions and services (including Systems Integration, IS Outsourcing,

Package Implementation, Software Application Development and Maintenance) and Research & Development Services (hardware and software design, development and implementation) to

corporations globally.

Wipro’s unique value proposition is further delivered through our pioneering offshore Outsourcing

Model and stringent quality processes of SEI and Six Sigma.

Wipro in Testing Services

Wipro’s Testing Services is the largest offshore independent testing services provider with innovative

solutions and differentiated offerings that reduce cycle times and provide quality assurance for

software across industry verticals and domains by collaborating with our alliance partners. It has 10+

years of experience in independent Testing Services. It is a horizontal service line in Wipro having testing capabilities across verticals and domains. With 8000+ dedicated testers, the Testing Services

Division of Wipro is amongst the largest third party offshore testing service providers in the world.

© Copyright 2011. Wipro Technologies. All rights reserved. No part of this document may be reproduced, stored in a retrieval system, transmitted in any form or by any means, electronic, mechanical, photocopying,

recording, or otherwise, without express written permission from Wipro Technologies. Specifications subject without notice. All other trademarks mentioned herein are the property of their respective owners.

Wipro Technologies

Corporate Office: Doddakannelli, Sarjapur Road, Bangalore - 560 035

Phone: +91 (80) 28440011

Fax: +91 (80) 28440256