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.

Wipro PoC on Neoload and Oracle Apps En

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

    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.

    Wipros 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

    Wipros 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