Dk 061807

  • Upload
    rg80078

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

  • 8/12/2019 Dk 061807

    1/8

    Paper Title: Automated Testing in SAP EnvironmentBy Deepak Kumar

    Deepak Kumar

    Senior Consultant, Infosys Technologies Ltd.

    1. Overview

    Automated testing has assumed significance as it is seen as a tool which can be used by the

    Organizations to attain and maintain the competitive advantage. It helps to react quickly in a

    structured way to the changes in business processes which are enabled by various enterprise

    applications and legacy systems.

    The customers can shop anytime and from anywhere in a global environment and this had put

    the pressure on the Organizations to make the business solution robust, scalable and available.

    Automated testing helps in achieving these objectives.

    This paper illustrates how the Automated testing can be made used of in an environment with

    multiple SAP Applications e.g. R/3, APO, EBP, BW etc. It also covers the usages and the

    requirements which are critical to deploy an Automated Testing solution.

    This article will help the Consultants and the Project Managers alike to gain insight in the

    application of Automated Testing in a SAP Environment and help in to bring the best return

    on the investment. This article does note cover and compares the various Automated testing

    tools available in the market.

    This article is structured as follows:

    Automated Testing in SAP Environment Page 1/8

    By : Deepak Kumar

  • 8/12/2019 Dk 061807

    2/8

    2. Areas of Deployment

    It is important to identify what part of the testing processes would be automated. The

    enterprise applications, which are subjected to change either because of maintenance or

    Project go-live, are most suitable for automated testing.

    Automated Testing : Areas of Deployment

    Projects/RollOutsChange Management

    /Support

    Unit Testing (initially manually)

    Integration Testing

    User Acceptance Testing

    Integration/Quality testing

    Regression Testing

    To create Master Data

    To create Transaction Data

    To check effects of Customisation changes

    Automated Testing : Areas of Deployment

    Projects/RollOutsChange Management

    /Support

    Unit Testing (initially manually)

    Integration Testing

    User Acceptance Testing

    Integration/Quality testing

    Regression Testing

    To create Master Data

    To create Transaction Data

    To check effects of Customisation changes

    Figure 1: Schematic Representation of the Areas of Deployment for Automated Testing

    2.1 Testing during Project Life Cycle

    The tenure of the Project and number of Roll-outs forms the criterions whether the Project

    Life Cycle testing should be automated or not. If the Automated scripts already exist, the

    same may be fine tuned for the said Project/Rollouts.

    For the new Projects and rollouts the following testing cycle can be automated:

    Project-Unit Testing:

    This can be initially manual during the build/development cycle but subsequently canbe automated. It will aid in saving time and effort if changes and new requirements

    are introduced during project execution cycle. At this stage, both individual and

    combined test scripts can be used for the SAP transactions that form the Unit Testing

    cycle. If the automated scripts already exist, the owner of automated testing scripts can

    provide already validated scripts for the current and future projects.

    Project-Integration Testing:

    Automated Testing can be helpful in Integration testing cycle for projects. However,

    the initial integration tests should be performed and validated manually and later on

    switched over to automated testing. Impact of Bugfixes or the changes can be tested

    efficiently and quick turnaround would be possible to meet the project milestones.

    Automated Testing in SAP Environment Page 2/8

    By : Deepak Kumar

  • 8/12/2019 Dk 061807

    3/8

    Project-User Acceptance Testing:

    User Acceptance should also be done manually first and than subsequently automated

    to be used for tests as and when the need arises. It would bring value if the same

    solution is to be rolled out to multiple locations. Automation would help in testing in a

    wider User community and to extend the testing to various variations in the business

    processes which otherwise are time consuming or cannot be simulated or testedmanually.

    The time span and effort for User Acceptance Testing can be drastically reduced by

    use of automated testing as business would not have to spare critical resources for

    longer times. Unplanned and last minute changes arising out of User Acceptance

    Testing feedback can also be incorporated without impacting the project timelines.

    After the Project Go-live, User Acceptance Test scripts can be used by the support

    team for ongoing change management and regression testing.

    Tip: For a given project, Automated Test scripts should be made one of the

    deliverables of the Project. After the Project Go-live, these can be used by the SAPsupport team for handling changes and to perform regression testing as and when

    need arises.

    2.2 Testing for Change/Release Management

    In a SAP support environment, the maintenance and support activities are regulated by the

    Change Management procedures defined in an Organization. The changes would be released

    periodically as per release calendar to productive environments and should be tested and

    approved beforehand. The following Testing would be applicable:

    Change Management-Integration Testing for the Changes:

    The changes as a part of change management would be linked to the business process

    and the changed functionality can be tested quickly and comprehensively for the end-

    to-end business process using automated testing. The test cases should be well

    defined for the objects or process that is to be tested. Custom Developments should

    also be covered with the required test cases as these are often changed because of

    bugfixes or enhancement. This would result into faster turnaround of the changes.

    Before releasing the changes to the business solution as part of release management

    the automated testing can be utilised as an efficient tool to check the integrity of

    business solution and to clear the changes for release as per release calendar. This is

    an important consideration for a Release may contain changes that are individually

    tested but not from the perspective of the business solution as a whole.

    Regression Testing:

    Regression testing is performed before the Project Go-Live if it is rolling onto an

    existing productive system. The Project Go-Live may require that a regression test

    may be performed by the already productive entities/countries/regions to ensure that

    their processes are not impacted by the new project or roll-out. Performing regression

    testing is a time consuming activity which can be automated. Automated testing wouldreduce the time span and would result into efficient and comprehensive testing.

    Automated Testing in SAP Environment Page 3/8

    By : Deepak Kumar

  • 8/12/2019 Dk 061807

    4/8

    3. Automated Testing Approach

    The Testing Approach should satisfy the following criterions : Simple to follow

    Easy to Create and Maintain Test Scripts

    Covers Business processes

    A combination of the following two approaches are likely to provides best results in a SAP

    environment:

    Functional Decomposition Approach

    Modular Approach

    3.1 Functional Decomposition Approach

    The Business Processes is decomposed to the lowest level which is to be automated. This is

    illustrated as follows:

    CorCor

    e Processes

    Order to Cash

    Procure to Pay

    Plan to produce

    Sub Pocesses

    Sales Order Processing

    Create Sales OrderCreate Delivery

    Create Invoice

    Processes

    Order to Cash Processes

    Sales Order Processing

    Consignment Processing

    Customer Returns Processing

    Transactions / Tasks

    Create Sales Order

    Perform Availability Check

    Perform Credit Check

    Save Sales Order

    e Processes

    Order to Cash

    Procure to Pay

    Plan to produce

    Sub Pocesses

    Sales Order Processing

    Create Sales OrderCreate Delivery

    Create Invoice

    Processes

    Order to Cash Processes

    Sales Order Processing

    Consignment Processing

    Customer Returns Processing

    Transactions / Tasks

    Create Sales Order

    Perform Availability Check

    Perform Credit Check

    Save Sales Order

    Figure 2: Functional Decomposition of Business Processes provides clarity and granularity

    Functional decomposition helps in identifying the extent and degree of automation that can be

    targeted.

    It also brings clarity to plan the quantum of work by identifying the reusable components andcapturing the variations e.g. Create Sales Order may be a common step in Sales Order

    Processing and Consignment Processing.

    3.2 Modular Approach

    It starts by creating a recording of execution of a manual transaction, which is a part of the

    business process. A transaction forms the script or a segregated step (also called module) of

    the testing chain. All the transactions that form the overall business process are captured and

    linked together. The output of one transaction serves as input to subsequent one. Thus, with

    user defined external data the entire business process can be executed automatically. Theresults along with errors if any are documented in the test log and are available to users.

    Automated Testing in SAP Environment Page 4/8

    By : Deepak Kumar

  • 8/12/2019 Dk 061807

    5/8

    Create Sales Create Create Invoice

    Order (VA01) Delivery (VF01)

    Capturing of Messages and Propogation of input values

    1. Scripts are linked together to form Business processes

    2. Out ut of one scri t asses values to the next scri t

    Figure 3: Individual Transaction Scripts forms the lowest level of Automation

    This improves the maintainability and the scalability of the testing by protecting the entire test

    case because changes would be limited to an individual script.

    4. Benefits

    Automated Testing provides a methodical and more intense way of testing the requirements

    and business processes. It brings many benefits which are summarized as follows:

    Facilitator in Change Adaptation:Automated Testing provides speed to the testing phase of a complex and critical requirements

    thereby assisting in not only testing of multiple variations in a given scenarios but also

    extending testing depth to include non routine test conditions. It gives confidence to the

    Organizational`s ability to adapt SAP business solution to the changes in the business

    environment in the specified time frame.

    High Reusability:

    The testing effort is saved by using reusable tests thus enabling personnel to find and fix more

    errors. The reusability benefits also enables to build libraries of repeatable test assets and are

    particularly helpful in project rollouts and the regression testing at the country/region level. It

    also aids in bringing standardization across geographies for a company having global

    operations.

    High Consistency:

    Automation would enable a test to run with utmost consistency. By running regression tests it

    can be quickly verified that pre-existing functionality are not impacted by new changes at the

    time of development or at the time of releasing the changes to productive environment.

    High Productivity:

    Automated testing creates a high-productivity environment in which organizations can

    increase testing capacity without additional resources. Test can run unattended on a 24x7basis to test an application across multiple platforms and environments and results are

    intimated by email to relevant persons. This frees up personnel to concentrate on other issues.

    Automated Testing in SAP Environment Page 5/8

    By : Deepak Kumar

  • 8/12/2019 Dk 061807

    6/8

    Assistance in Data Creation:

    Though not the prime objective of Automated Testing , it can be utilized to create both Master

    and Transaction data which may be required for the new SAP client preparedness for various

    reasons or as a pre-requisite to simulate or to test month/quarter /year end enhancements or

    reporting wherein pre-existing data in relevant volume is required. The automated scripts ofrequired Master or Transaction data can be executed to create the required data.

    Impact Analysis and Data Validation:

    Automated Testing can be utilized by consultants for feasibility or for analysis of

    requirements. The effects of customization change on transactions can be quickly checked by

    running automated transaction scripts. It also helps in data validation of identified fields in the

    transactions if the transaction input is predetermined and for example key fields like Purchase

    order item value or Sales order item value comes to a predetermined value when transaction is

    done thus indicating that transaction is created correctly.

    Stress / Volume Testing:The program behavior and responses can be tested for situations when multiple users are

    logged in and accessing the common programs. This is particularly true where SAP system is

    accessed by web enabled front end applications.

    5. Limitations

    It is very important to identify the areas where Automated Testing would be applied. This due

    diligence helps to identify upfront the quantum to be automated and what is to be testedmanually. The Automated Testing tool features also play an important role in defining the

    limitations. The limitations may be faced in the following areas:

    Testing of the Forms/Printouts:

    The printouts from SAP Applications should be checked manually for format and correctness.

    Integration with the other systems:

    The test cases involving interfaces of SAP System with other applications can form a part to

    be tested manually. Though the automated testing tools may have the ability to connect to the

    interfaces but the effort to do should be evaluated beforehand.

    6. Develop and Deploy a Test Management plan

    A comprehensive Test management plan should be developed and deployed both for the

    Projects and the Change Management.

    Test Management plan is essential to the planning and administration of the test activities. It

    should consist of the following:

    Automated Testing in SAP Environment Page 6/8

    By : Deepak Kumar

  • 8/12/2019 Dk 061807

    7/8

    6.1 Development of Test Plan with Test Cases and Test Scripts

    A test plan should be developed for testing requirements during project life cycle and for the

    change management. Testing requirements should be built at an early stage into the Project

    plan so that testing can progress simultaneously for development, unit and integration testing

    requirements and can be transitioned to support department after the Project Go-Live/Rollout.

    Test Plan:A Test Plan should be developed for a given process, sub-process or for

    developed/custom objects as relevant. Test Plan consists of the relevant Test Cases and the

    Test Scripts.

    Test Cases:These are created by combining relevant Test scripts with required

    validations for running the End to End Business Process automatically. Output from

    preceding Test Scripts is supplied to the next Test Scripts based on the coverage of the

    Test cases.

    Test Scripts:These are created for a specific transaction e.g. Create Sales Order,Create Delivery etc. Single scripts can be use in multiple Test cases.

    The development of Test plan for Automated Testing should cover the following:

    Coverage of the business processes and requirements

    Documented Test Cases with Test Scripts

    Required Master Data for the Test Cases

    Manual testing and validation of test results before test scripts are automated

    Development of Automated test scripts

    Validation of Automated Test scripts Deployment/Release of Automated Test scripts

    A test plan should first explore whether a valid automated test scripts exits or a new one is

    to be developed.

    6.2 Repository and Ownership of Automated Testing Scripts:

    A central team should maintain the tested and validated automated test scripts. A repository

    should be maintained and published so that Project and Change Management team uses

    appropriate test scripts to meet their testing goals.A Test Script should be tracked and managed by assigning a unique number and status (for

    example: Created, Validated, Released, Suspended).

    6.3 Separate Test Data from Test Scripts

    Automated Test scripts should be separated from test data and should be able to call the

    separately maintained Test data. A test script will work on identical data from different region

    or countries as the case may be. Test data should be separately maintained and should be

    appropriately linked to test script as an input. While developing the Test Plan in Automated

    Testing tool, the validated Test Script is linked to the relevant input data.

    Automated Testing in SAP Environment Page 7/8

    By : Deepak Kumar

  • 8/12/2019 Dk 061807

    8/8

    Automated Testing in SAP Environment Page 8/8

    By : Deepak Kumar

    6.4 Availability of Test System/Data

    Required data should be identified and made available in the system where testing is required

    to be carried out. It is recommended that data similar to production environment should be

    made available.

    6.5 Considerations from Automated Testing Tool

    Automated Testing is enabled by Automated Testing tools which have variety of features and

    functionality available. The following are the important considerations or expectations from

    the tool:

    Integration with SAP systems: Testing can be conducted in multiple SAP systems e.g.

    Development, Integration and Quality environment and also across applications e.g.

    SAP R/3, EBP, APO etc.

    Integration with Non-SAP systems to facilitate Interface Testing

    Ability to perform test in remote SAP systems

    Facilitates Functional Decomposition of Business processes

    Management of Test Cases and Test Scripts including Planning, Development,

    Tracking , Change Management and Administration

    Flexibility to customize the Test Scripts for incorporating additional conditions

    Attachment of Supporting documents to Test Cases and Test Scripts

    Ability to schedule and run Test on 24x7 basis

    Test Execution Dashboard to shows status, progress and relevant details

    Features for Issue Logging and Resolution Tracking

    Email Notifications with customizable details to the Tester/Bug-Fixer/Relevantpersons

    Ability to Simulate Users or Transactions for Stress/Volume Testing and Monitoring

    of associated parameters

    7. Conclusion

    Automated Testing brings a structured approach to define, perform and meet the various

    Testing Requirements in a SAP R/3 system environment. It is important to identify the testingareas which are to be automated. It is recommended to begin the automation with simple

    processes and than extending to the complex business process. Automated Testing forms an

    important part of the Organizations SAP centre of excellence and adds value in faster

    turnarounds of requirements and thus aids in sustaining of SAP solutions. It has also emerged

    as a tool which helps Organizations to react swiftly to market environments as it shortens the

    time to adapt the changes in SAP solution.

    About the Author

    Deepak Kumaris Senior Consultant in SAP Practice at Infosys Technologies Ltd. He has

    over 13 years of experience in Business & IT Consulting and SAP Implementations. He can

    be reached at [email protected]