Вы находитесь на странице: 1из 8

Paper Title: Automated Testing in SAP Environment

By 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
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

Change Management
Projects/RollOuts
/Support

•Unit Testing (initially manually) •Integration/Quality testing


•Integration Testing •Regression Testing
•User Acceptance 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 can
be 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
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 tested
manually.

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 SAP
support 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 would
reduce the time span and would result into efficient and comprehensive testing.

Automated Testing in SAP Environment Page 3/8


By : Deepak Kumar
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:

Core Processes
Processes
Order to Cash Order to Cash Processes
Procure to Pay Sub Pocesses
Plan to produce Sales Order Processing Sales Order Processing
Consignment Processing Transactions / Tasks
Customer Returns Processing Create Sales Order Create Sales Order
Create Delivery
Create Invoice 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 and
capturing 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. The
results 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
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. Output of one script passes values to the next script

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 24x7
basis 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
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 of
required 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 tested
manually. 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
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
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/Relevant
persons
• 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 testing
areas 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 Organization’s 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 Kumar is 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 Deepak_Kumar02@infosys.com

Automated Testing in SAP Environment Page 8/8


By : Deepak Kumar

Вам также может понравиться