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

SAP Testing Tutorial: Create your First SAP

Test Case
Introduction to SAP

The basic idea behind introducing SAP (System Applications and Products)
was to provide the customers the ability to interact with common corporate
databases for a comprehensive range of applications. SAP is an integrated ERP
(Enterprise Resource Planning) to make business process work efficiently.

Following Video will explain the need of ERP software like SAP in an enterprise

SAP suite contains different modules such as SAP FICO, SD, MM, HR, etc.

SAP Testing Consultant- a Career choice

What is meant by SAP implementation?

What is SAP customization?

What is maintenance of SAP software?

SAP End to End lifecycle and corresponding Testing Phases

Types of Testing Applicable to SAP applications

How to create a SAP Test Case

Automated Testing of SAP Applications

Performance Testing of SAP Application

What is SAP Testing?


SAP Testing is same as Software Application testing however here the
applications is SAP ERP. At whatever point you make a change in SAP software,
test cases need to be created to check the new functionality. SAP testing can
also involve performance testing. (to check speed of sap applications) & web
testing (for SAP web portals).

SAP Testing Consultant- a Career choice


Skill Set
To become a SAP tester you need following skill sets

1. Testing knowledge

2. Functional knowledge of the module being tested.

Typical WorkDay On any typical work day you will be busy understanding requirement documents ,
creating test cases , executing test cases , reporting and re-testing bugs , attending
review meetings and other team building activities.

Career Progression
Your career progression as a software tester (QA Analyst) in typical CMMI level 5
company will look like following but will vary from company to company

QA Analyst (Fresher) => Sr. QA Analyst (2-3 year experience)=> QA Team


Coordinator (5-6 year experience> =>Test Manager (8-11 experience) => Senior
Manager (14+ experience)

How SAP Testing is more lucrative than other testing projects ?

While testing any AUT ,

1. You acquire deep functional knowledge of the AUT. Without sufficient


knowledge of AUT its difficult to test

2. Hone your testing skills

As with any IT company , you move from one project to another in due course of
time. All the hardwork you did to understand the functionality of AUT is obsolete
in the new project. This is typically true if you are switching projects across
domains say telecom to healthcare.

In case of SAP, the functional knowledge you acquire is portable and can be used
in other projects. Suppose you are switching jobs. In your old company you were
testing billing software for Vodafone. What is the likely hood that the same project
is available in your new company ? Next to Zero.

Now consider this case. You are switching from SAP Testing project to another
SAP Testing project in new company. You instantly recognize the GUI ,
Transaction codes, vanilla business workflows which is a huge advantage. You
will need to learn the customizations made by the client but still you need a deep
knowledge of the software.
The biggest advantage as SAP Tester is that due to the deep functional
knowledge you acquire, you can easily become a SAP Functional
Consultant! SAP Consultants are in huge demand & they are almost always on
short supply and command premium salaries.

What is meant by SAP implementation?


Consider this scenario. Company A offers 12 annual leaves. Company B offers 20
annual leaves. Salary must be deducted for any employee who uses 13 th or
21st annual leave for Company A & B respectively. This information must
be configured into the SAP system which is nothing but SAP implementation
and configuration.

The SAP vanilla version is powerful but not much useful until its customized and
configured as per the business policies, legal stipulations, & technical
requirements of a company. This process is called SAP implementation. It could
typically take a few months to even years.

What is SAP customization?


SAP by far has the highest collection of Business Process. But sometimes your
internal company processed many not be accurately mapped using the readily
available SAP business transactions.

In such cases custom code is created using ABAP. It involves code changing
to create functionality that is not available through configuration. This is
nothing but customizations. SAP customization can also be done to generate
custom reports, programs, or enhancements.

What is maintenance of SAP software?


Once the SAP system is configured, customized, deployed and made live
any changes made to the SAP system is termed as Maintenance. This could
include

New Feature addition to the SAP System

Bug Fixes

SAP Kernel Updates

Support Pack & Stack Updates

OSS note implementation


SAP End to End lifecycle and corresponding Testing
Phases
There are multitude of methodology that can used for SAP implementation

ASAP Implementation ( For initial implementation of SAP systems , and


porting from legacy systems)

Maintainence Lifecycle

Upgrade LifeCycle

Custom Development LifeCycle

Whatever the lifecycle you may be working, there are three main testing phases
you will be involved in

1) Test Preparation

2) Test execution phase

3) Test Evaluation phase

Test preparation phase


1. Identification of business process to be tested

2. Manual and automated test case development

3. Creation of test suites and review

4. Set up of test system

5. Creation of test data

Test execution phase


1. Test execution either manually or using test tools
2. Test status reporting and defect handling

Test evaluation phase


1. Detailed assessment of all test plans

2. Defect Analysis

3. Documentation of the testing process

Types of Testing Applicable to SAP applications

For SAP applications the common testing performed are:

1. Unit Testing: This part of testing is mostly taken care by the developers
based on their defined unit testing rules as per the organizations. This is
sometimes done by the skilful white box testers. The test is done in the
development box. This is the testing of interfaces, conversions,
enhancement, reports, work flows and forms(RICEWF) developed
primarily with ABAP code. Testing of development object includes testing
for security authorization, ,data transfer rules, reconciliations and batch
scheduling jobs. BW (Business Warehouse) testing is also part of the
development tests.

2. Integration Testing: It is the testing of combined components of a SAP


application to determine if they function together correctly. It is typically
done in the QA environment and uses realistic test data.

3. Regression Testing: Regression testing is done to ensure that the new


changes implemented do not adversely affect the existing working code.
SAP R/3 is a tightly integrated system. A single stack update, OSS note,
transport, configuration changes, new development interfaces can have
cascading and severe effect. Regression Testing is usually executed using
automation tool by the testing team.

4. Performance Testing: It is testing SAP applications to ensure that they


will perform well under expected workload. Performance testing
encompasses load , volume & stress testing to determine system
bottlenecks. The aim of this testing is to enhance robustness of SAP
applications and helps deploy systems that can sustain high load forecast,
with zero post production performance issues. The testing includes
checking business processes that may cause stress, due to high
transaction or batch volumes. It is usually executed using automated tools
& involves collaboration of basis, database, infrastructure and test teams
to monitor test results.

5. Functional Testing: Functional testing ensures that your implementation


of SAP meets your business requirements. SAP is highly configurable
system and could be easily integrated with in-house applications or third
party tools. Given this varied configuration and complexity functional
testing is a must. Functional testing removes uncertainty over business
use cases and brings quality. It includes review of design documents and
creating test artifacts including test requirements, test scenario and test
cases. Functional testing is usually done by the testing team with a
background in particular SAP module being tested.

6. User Acceptance Testing (UAT): Once functional, system and regression


testing is completed, UAT ( User Acceptance Testing) is performed. It
ensures that the SAP system is usable for the end users of the system.
The end users independently execute the user acceptance test cases that
includes testing business processes, functions, documentation (operating
manuals, cheat sheets) etc. With UAT users can feel comfortable with the
new business environment and can take full ownership of the system.

7. Security Testing: To ensure the safety of SAP applications, security


testing is performed. High risk areaslikesap-portal security, network
security, operational security, product security, access control and source
code audit for security are tested. This is usually involves the basis,
database, infrastructure, development and test teams.
8. Portal Testing: These techniques involve testing the SAP Portals on
different browser and checking business processes

How to create a SAP Test Case


Lets design a test case to change the Name of an employee in SAP system

To create an effective test case, you must

Determine SAP role required to execute the test case

Identify the SAP transaction that needs to be executed for the test case

Test Data required executing the test case. Determine whether the data
needs to be created or whether it used by another tester or whether the
data is locked & cannot be modified.

Any Pre-requisites

Peer review Test cases

Create positive as well negative scenarios

Create detailed Test Steps.

Test coverage should be robust

Document defects in timely manner which is as soon as they are


discovered.

Refer this video, for a guideline on how to change SAP Infotype

The test case designed for this is as follows -


Important Note

SAP is a humungous system with endless variations. Its neither feasible nor cost-
effective to check all possible variations and combinations of test parameter
inputs in SAP system.

As in above example , a tester could have verified change in Last Name, Date of
Birth, Address, Pin Code, City , State, Country, change in permanent , temporary,
work address etc.

A Tester needs to adopt strategies reduce the number of test cases without
sacrificing coverage. Examples of such strategies include boundary value
analysis, equivalence partitioning & orthogonal arrays.

Automated Testing of SAP Applications


Testing is a huge challenge for colossal system like SAP. As per recent study by
ASUG, Over 86% customers are concerned about risks due to lack of
comprehensive testing.
Automation has following benefits for SAP applications

1. The chief and most valuable benefit is improved test coverage

2. Better product quality and therefore less production outages. Outages in


SAP productions environments could cost a company millions!

3. Workload decreases with each release cycle

Automation Tools

The methodology and approaches are more important than the chosen test tool.
When you think about testing SAP application, some tools comes in mind
naturally like SAP TAO, eCATT, QTP etc.

ECATT ( Extended Computer Aided Test Tool)


ECATT is used to create and execute functional tests for SAP. ECATT is an in-
built tool that comes bundled with SAP with a primary objective of automated
testing of SAP business processes.

ECATT useful features


1. Test transactions, reports and scenarios

2. Call BAPIs and function modules

3. Test remote systems

4. Check Authorizations (user profiles)

5. Test updates

6. Test the effect of changes to customizing settings

7. Check system messages

QTP ( Quick Test Professional Tool)


HPs QuickTest is a keyword driven automation tool. It supports many
environments including SAP. The tool is robust, feature rich and user-friendly. Its
market leader in automation tool commanding major market share. Its a
commercial tool with excellent vendor support. Its a tool of choice for SAP
automation.

SAP TAO
SAP released the automation tool SAP TAO in collaboration with Focus
Frame(now acquired by Hexaware).

SAP TAO wraps up QTP and QC where QTP acts as execution engine and test
scenarios are created and driven from QC through business components. SAP
TAO automates generation of test components for end to end scenarios. SAP
TAO and HPQC setup do have some benefits compare to other testing tool there
is a huge corporate support for both HP and SAP software products.

SAP TAO client application performs three functions, inspecting transactions


from a SAP server, exporting the transactions to HP Quality Center and
consolidating components or scripts from HP Quality Center.

Performance Testing of SAP Application


Performance testing of SAP applications is done to check its speed, scalability
and stability. Performance Testing SAP helps with

Conform with service-level agreements (SLAs).

Optimize software configuration settings.


Reduce overspending on hardware

Certify that the system will not crash or fail during seasonal high load and
help avoid corresponding financial losses.

Events that Trigger Performance Test

Choice of Performance testing tool for SAP depends on the underlying SAP
application being tested. Below is a list of SAP performance test tools and their
application areas

1. Open source/ Free

Jmeter - (Performance Test SAP Business Obects BI Platform)


Open STA (Performance Test SAP Portals)

2. Commercial

Load Runner (Performance Test SAP ECC amongst other SAP


applications) recommended by SAP

IBM Rational Robot (Can test wide variety of SAP applications)

Top 18 SAP Testing Interview Questions &


Answers
1) Mention what is SAP?

SAP stands for System Applications and Products. It provides customer the
ability to communicate with common corporate databases for a comprehensive
range of applications. It makes the business process work efficiently.

2) Mention what is SAP Testing?

The SAP Testing is same as software application manual testing. It helps to


detect and rectify error at all business modules like finance, manufacturing, etc.

3) Mention what are the types of testing is done for SAP?

Types of SAP testing are,

1. Unit testing

2. Functional and Regression testing

3. UAT testing

4. Integration testing and so on.

4) Mention how to create an effective SAP Test case?

Determine SAP role required to execute the test case

Identify the SAP transaction that needs to be executed for the test case

Test Data requires executing the test case. Determine whether the data
needs to be created or whether it is used by another tester or whether the
data is locked & cannot be modified

Is there any pre-requisites required


Create negative as well as positive scenarios

Create detailed Test Steps

Test coverage should be robust

Document defects in a timely manner as soon as they are discovered

5) Mention tools useful for SAP Testing?

Tools useful for SAP Testing include,

QTP ( Quick Test Professional Tool)

SAP TAO

ECATT

6) Why choosing a right strategy is more important than choosing a tool for
SAP Testing?

Choosing right strategy is important for SAP Testing because,

SAP is a humungous system with endless variations. It's neither feasible


nor cost-effective to check all possible variations and combinations of test
parameter inputs in SAP system.

A Tester needs to adopt strategies to reduce the number of test cases


without sacrificing coverage.

Examples of such strategies include,

Boundary value analysis,

Equivalence partitioning & orthogonal array.

7) Mention what are the benefits for SAP applications?

Benefits for SAP applications are,

Improved test coverage

Better product quality and less production outages

Workload decreases with each release cycle

8) Mention what are the challenges faced during SAP Testing?


During SAP Testing challenges faced are,

Valid combination of test data required for testing

All the critical interfaces should be determined, and their connectivity


should be established with corresponding test systems

To recognize the business processes which are suitable for test


automation

Identify negative testing conditions

Mention how does the system design trace back to all captured
requirements and the number of test cases

Identify Regression scenarios/test cases and build Regression test suite


that requires during each release

Managing output and input data to complete the scenarios OTC, P2P, etc.

Design robust Automation Framework that should be maintainable and


scalable

9) Mention what are the points to be considered while performing SAP


Interface Testing?

While performing SAP Interface Testing remember following points,

What is the objective of using SAP Interface and what business scenarios
are processed by the interface?

Verify the interface is processing all business scenarios accurately as per


the test strategy

Best practice to perform Interface testing is to begin with Unit testing

Verify if the outbound interface is alright, which means that it ensures to


perform file meeting specifications in terms of layout, etc.

Verify if the inbound interface is alright. Check if it is reading the file


correctly and if it is performing the correct steps in the target system.

10) Mention what are the types of work processes in SAP?

In SAP, types of work processes include are

Dialog
Enque

Update

Background

Spool

Message

Server

Gateway

11) Mention what is the difference between kernels, support packages &
SAP Note?

The difference between kernels, support packages & SAP Note is,

Snote: By implementing a SAP Note an error in a single program or


Transaction is removed.

Support Package: All known errors are corrected by applying SAP


Support Package

SAP Kernel: It is the core of the application. When a Kernel is upgraded, it


means an older versions of the various EXE files get replaced.

12) Mention what is ECATT?

ECATT is used to execute and create functional tests for SAP. It is an inbuilt tool
that comes bundled with SAP with a primary objective of automated testing of
SAP business processes.

13) Mention what are the useful features of ECATT?

Useful features of ECATT are,

Test transactions, scenarios, and reports

Test remote systems

Call BAPIs and function modules

Check Authorizations (user profiles)

Test updates
Test the effect of changes to customize settings

Check system messages

14) Mention what is the difference between developer trace, System trace,
and System log?

The difference between developer trace, System trace, and System log

System Trace: It is used when you want to record the internal SAP system
activities

Developer Trace: It contains technical information for use in the event of


issues with your system. Using the entries in the developer traces requires
sound knowledge of the host systems in which your SAP system is running

System Log: You can use the log to highlight and rectify errors occurred in
your system and its environment.

15) Mention what is Screen flow logic in SAP Testing?

Screen flow logic in SAP Testing is like an ABAP code. It is used to contain the
processing blocks. It consists of procedural part of the screen and is created in
screen painter. Screen painter is like an ABAP editor.

16) Mention what is the use of Process Flow Analyzer in SAP TAO?

In SAP TAO, Process Flow Analyzer is used to find out automatically the user
interfaces used in transaction codes executed in a SAP system.

17) Mention what is SAP Cutover Testing?

SAP Cutover Testing is usually performed once in a project lifecycle. In this


phase, a full-scale execution of all tasks is involved to retrieve data from legacy
systems and then to implement any kind of data conversion, load the results into
the SAP system and fully validate the results, including a user sign-off.

18) Mention what should be the approach for writing a BDC program?

For writing a BDC program, convert the legacy system data into a flat file. Then
convert the flat file into an internal table. Transfer the flat file into sap system
called "sap data transfer." Then call transaction or create sessions.