Beginner`s Guide to eCATT

advertisement
eCATT
VSDK 3.0
Target Group and Prerequisites
Target Group
 Implementation and integration teams
 Quality managers supervising in-house development
Prerequisites
 Experience of software testing
 An understanding of the architecture of the SAP Web Application Server
(as provided in course SAPTEC)
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Course Goals
In this course, you will learn
 What and when you need to test in the SAP Solution Lifecycle
 The advantages of eCATT for testing SAP systems compared with other
automated test tools
 How to set up your system environment for testing with eCATT
 How to create test cases to test various different kinds of SAP
applications
 How to create executable tests, and how these can be managed using
the SAP Test Workbench
 How to migrate CATT objects to eCATT
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Contents
Unit 1
Getting Ready to Test
Unit 2
Getting Ready to Test with
eCATT
Unit 5
Testing Transactions - I
Unit 6
Testing Transactions - II
Unit 7
Testing Transactions - III
Unit 3
eCATT Scripts and the
Script Editor
Unit 4
Non-UI Testing
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Unit 8
Building Executable Tests
Unit 9
Advanced Topics
Unit 1:
Getting Ready to
Test
Unit Objectives
In this unit, you will learn:
 When you need to test in your SAP environment
 The advantages and disadvantages of manual and automated testing
 Decision criteria for selecting an automated test tool
 What can be tested using SAP eCATT
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Occasions for Testing
New SAP installations
Addition and integration of new components
In-house developments
 Functional Tests
 Integration tests with other components
Upgrades – regression testing
Application of Legal Change Packages
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Manual or Automated Testing
Manual Testing
 Requires a group of testers who must
 Have
lab space to work in
 Be trained
 Be released from their other duties (internal) or “bought-in” (external)
 Is time-consuming
 Offers little potential for reuse of test resources
 But does have the advantage that manual testers spot errors and issues
that are beyond the scope of the test plan
Automated Testing
 Requires fewer people and resources
 Execution takes less time
 Parameterization of fields allows replay with any number of different
sets of values
 Offers considerable possibilities for reusing test scripts
 Makes it easier to reproduce errors that occur during testing
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
The Economics of Testing
Automated testing requires good planning and modeling
Learning to use a new test tool takes time
An automated test script will only give you maximum ROI if it is
reusable
A switch to automated testing requires investment and commitment
Not every test scenario has to be automated
 If it doesn't have to be repeatable, it doesn't necessarily have to be
automated
 Automation is a means to an end, not an end in itself. If it is taking too
long to automate the last 5% of your test scenario, consider running that
part manually!
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Choosing an Automated Test Tool – External Tools
Classic automated test tools can test an SAP System by driving the
SAP GUI...
Automated Test Tool
 Generally not aware of the multiple tier
solution
 No access to what is happening on the
application server or the database
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Backend
... But treat the SAPGUI Window as a
standalone desktop application:
SAPGUI Window
Frontend
Script
Choosing an Automated Test Tool – SAP CATT
CATT – Computer Aided Test Tool
Available from Release 3.0
Advantages
 Shipped free with SAP Basis System
 Most effective testing method for SAP transactions
Disadvantages
 Control technology not fully supported
 No support for tabular parameters of function modules
 Only limited support for distributed system environments
 Only limited support for external applications
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Choosing an Automated Test Tool - SAP eCATT
The Extended Computer Aided Test Tool (eCATT) is the successor
to SAP‘s CATT.
Its design aims were to
 Enable as many SAP transactions as possible to be tested
automatically
 Provide a simplified concept for testing in a complex system landscape
 Allow reuse of test data by storing it in separate container objects
 Leverage the benefits of the existing CATT
eCATT is available with Release 6.20 of the SAP Web Application
Server
With it, you can remotely test any mySAP.com solution that is
running R/3 Basis Release 4.6C or higher
(see note 519858 for details of required support packages)
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
What Applications Can Be Tested Using eCATT?
. . . Using Built-In eCATT Means
Transactions in SAP GUI for Windows
Transactions in SAP GUI for Java
Function Modules and BAPIs
. . . Using eCATT Together With a Certified External Tool
Web-based Transactions
Desktop-based transactions
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
What Does Testing an Application Mean?
Making the
test reusable
Setting checks on the
application to make the test
react to different circumstances
Parameterizing the application
to allow it to be replayed
with varying values
Recording the application so that it can be replayed
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
What Systems Can Be Tested Using eCATT?
You require at least one SAP Web Application Server 6.20 to operate
as a test server
From this central test system, you can test any other system that is
running the component SAP_BASIS with Release 4.6 Support
Package 32 or higher
R/3
CRM
eCATT
Web AS 6.20
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
APO
Unit Summary
In this unit, you have learned
 Some of the issues you have to consider in deciding a test strategy
 The functional test tools that are available from SAP
 The scope of eCATT
 The
applications that you can test with it
 The
system landscape in which you can test
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Unit 2:
Getting Ready to
Test With eCATT
Unit Objectives
In this unit, you will learn:
 How a finished eCATT test case is put together
 The different object types used in eCATT
 How to set up a system for use with eCATT
 Some of the security aspects that you need to consider
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
A Finished Example
Test Configuration
System
Landscape
Description
Test
Instructions
Data to
drive the
test
Archive
Results
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
The Different Object Types
Test Script
The set of commands that forms the test
System Data Container
A list of systems that are addressed during the
execution of a test script
Test Data Container
Reusable sets of data that can be used to run tests
Test Configuration
A test script, combined with data from one or more test data containers,
plus a system data container that describes the correct system landscape
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Constructing an Automated Test Series
What applications am I going to test?
What does my system landscape look like?
How can I best create an automated test for my applications?
What data do I need to drive the tests?
How can I organize my test cases?
Test
data
container
System
data
container
1
2
4
3
Test
script
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
5
Test
Workbench
Setting Up the System
Support Package Levels
 Each system in which you want to test must have at least the following
support package level
 4.6C:
Support Package 32
 4.6D:
Support Package 21
 6.10:
Support Package 17
Client Settings
 In each client in which you want to test, you must ensure that the
CATT/eCATT flag is set to allow tests to run
GUI Scripting
 In order to use the new GUI Scripting functions, the following settings
have to be made:
 Profile
parameter sapgui/user_scripting must be set to TRUE
 SAP
GUI must be Version 6.20 with patch level =>18 and GUI Scripting
installed
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Mapping the System Landscape
1.
2.
eCATT
Web AS
6.20
3.
4.
Test CRM transaction
Check table entries
in R/3
Run transaction in R/3
Call function module
in APO
RFC
CRM
R/3
Business Process
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
APO
Defining RFC Destinations
Target System
Source System
RFC Destination
Client:
Lang:
User:
Pwd:
100
EN
tester
letmein
Direct but unsafe
Target
Transaction
Safe but cannot run unattended
RFC Destination
Client: 100
Lang: EN
User: <current>
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Target
Transaction
Function of System Data Containers
Test Script
System Data Container
Command
With
Logical
Target
Target < -- > RFC Dest.
Target
System
The logical target describes the function of the system –
for example R/3. The system data container maps the logical
name to a particular RFC destination.
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Creating a System Data Container
System
under
test
SAP Web AS
6.20
Relationship described by
RFC destination XYZ
Target system
. . .
RFC Destination
XYZ
R3
System Data Container
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
. . .
Advantages of System Data Containers
Consistency
 One container can serve a whole project
 The RFC destinations can contain the client, language, and user name
for the logon – eliminates sources of errors
 Access to SM59 and the authorization to create system data containers
can be restricted to project leads
Reuse
 Using logical system names in a script means that the execution
environment of the script can be changed by switching system data
containers. Changes in the script coding are not required.
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Unit Summary
In this unit, you have learned
 The different object types with which you work in eCATT
 How these object types support you in the various stages of planning an
automated test project
 How to set up a system to enable eCATT
 How to define secure RFC destinations
 How to create a system data container
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Unit 3:
eCATT Scripts and
the Script Editor
Unit Objectives
In this unit you will learn:
 The structure of an eCATT script
 The essential features of the eCATT script editor
 The main aspects of the eCATT scripting language
 How to work with parameters
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Design Considerations for a Script
Definite Goal
Before you write your script, work out exactly what you want it to do
Reusability
Try to create small self-contained script modules. This will make them
more easily reusable.
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Structure of a Script
Test Script
Attributes
Parameters
Importing
Exporting
Local variables
Commands
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Script Attributes
Administrative
data about the
script
Search terms:
Can be used in
Infosystem
Attaches system
data container to
script, allowing
access to other
systems
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
The Script Editor
Parameter List
Command
Editor
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Structure
Editor
Simple Parameters
Creation
Use
I_IMPORT = 'LH'.
CHEVAR ( I_IMPORT <> 'UA' ).
. . .
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Structured Parameters
Use
I_STRUCTURE-CARRID = 'LH'.
I_ITAB[2]-CONNID = '0400'.
GETLEN ( I_ITAB, VAR ).
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Script Language
Recording and playback of applications
Conditions
Checks
Loops
Calculations
Simulation of
Customizing settings
Reading table values
Blocks of ABAP coding
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Commands for Recording Applications
Recording and playback of applications
FUN calls a
function module
TCD allows you to record
and replay SAP transactions
SAPGUI allows you
to record sequences
of screens containing
controls
An interface allows you
to integrate test tools
from third-party vendors
with SAP eCATT
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Choosing the Right Driver
Is the application
a function module
or BAPI?
No
Yes
Use FUN
Does the application
run under SAP GUI for
Windows or Java?
Use
ext.
tool
No
Yes
Does the application
use controls?
Use
TCD
No
Yes
No single driver
provides the
best solution
for every application
No
Are the controls
essential within
the transaction?
Yes
Use SAPGUI
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Special Variables
&SZBRC - Return code
&TIME - Current time
&DATE – Current date
&YEAR – Current year
&YEARA – Next year
&YEARB – Last year
&LPC – Loop counter
&MSX – Number of messages returned by a transaction
&USER – User name
&CLIENT – Current client
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Pattern Function
The Pattern function is similar to the statement pattern in the ABAP
Editor. It allows you to build individual eCATT commands.
A command consists of:
 The command keyword
 Argument (the target object)
 Interface (parameters that need to be passed)
 Target system
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Command Interface
Most eCATT commands have a command interface, which
corresponds to:
 The interface of a function module (for FUN)
 The screen and field structure of a transaction (for TCD)
 A list of user interactions (for SAPGUI)
 The importing and exporting parameters of a referenced script
Command interfaces are stored in XML format in the local system,
even if the object that they describe only exists in a remote system.
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Unit Summary
In this unit, you have learned
 The various areas of the eCATT Test Script Editor
 The features of the eCATT script language
 How to create eCATT parameters
 How to use the pattern function in the eCATT Script Editor
 Which driver to use for various kinds of applications
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Unit 4:
Non-UI Testing
Function Modules and BAPIs
Table Operations
Inline ABAP
Unit Objectives
In this unit you will learn:
 How to test function modules and BAPIs
 How to read from and test against the database
 How to use blocks of ABAP coding to enhance your test scripts
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Choosing the Right Driver
Is the application
a function module
or BAPI?
Yes
Use FUN
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Non-UI Testing: Function Modules
Unit Test
Whole Backend Process
Function
Module
Function
Module
Transaction
Function
Module
Function
Module
Function
Module
Transaction
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Utility Within a Script
Testing Function Modules
FUN ( <function module>, <interface>, [<target>] ).
Command Interface
Importing
Exporting
Changing
Tables
Exceptions
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Function
Module
Parameterizing the Interface
or
INTERFACE-IMPORTING-PARAMETERNAME = value.
INTERFACE-IMPORTING-STRUCTURE-FIELDNAME = value.
INTERFACE-TABLES-TABLE[idx]-FIELDNAME = value.
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Trapping Exceptions
Interface
Exceptions
DATA_INCOMPLETE
CREATE_FAILED
Interface
Exceptions
DATA_INCOMPLETE
CREATE_FAILED
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Table Operations
Test Script
Database
GETTAB ( TAB, INTF, [DEST] ).
CHETAB ( TAB, INTF, [DEST] ).
Application Table
SETTAB ( TAB, INTF, [DEST] ).
RESTAB ( TAB, [DEST] ).
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Customizing Table
Using Inline ABAP
ABAP.
* Any ABAP Coding that is allowed in a subroutine
* may appear here
ENDABAP.
Parameters
Name
Description
Value
V_TAB
<INITIAL>
SFLIGHT-table
I/E/V
Ref Type
V
SFLIGHT[]
ABAP.
SELECT * FROM sflight INTO TABLE v_tab WHERE carrid = ‘LH’
AND connid = ‘0400’.
ENDABAP.
Expecting a result set of more than one line.
No corresponding function module available.
“Once-off” query
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Unit Summary
In this unit you have learned:
 How to test function modules and BAPIs
 How to read from and test against the database
 How to use blocks of ABAP coding to enhance your test scripts
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Unit 5:
Testing
Transactions - I
Testing conventional transactions
using the TCD command
Unit Objectives
In this unit you will learn:
 What transactions are suitable for testing using the TCD command
 How to record a transaction using the TCD command
 How to set input fields, read output fields, and perform fields checks
with the TCD command
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Choosing the Right Driver
Is the application
a function module
or BAPI?
No
Does the application
run under SAP GUI for
Windows or Java?
Yes
Does the application
use controls?
Use
TCD
No
Yes
No
Are the controls
essential within
the transaction?
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Characteristics of the TCD Command
The TCD command is the recording technique that was used to test
transactions in CATT
It is based on the Batch Input Interface
It allows you to record a transaction, parameterize its input fields,
and read or set checks against its output fields
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Background: The Batch Input Interface
Background: Data-consistency checks in SAP transactions
are often implemented within the coding of the screen flow logic
(Process After Input)
Batch Input is a technique originally developed for data transfer
from legacy systems into an R/3 System that processes
transactions in the background
CATT used this technique for unattended transaction testing.
It is a very efficient testing method, and has consequently been
retained in eCATT
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
The TCD Command
TCD ( transaction, interface, [sys] )
Same system
Different system
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
How TCD Really Works - Recording
ENTER
FIELD
VBAK-AUART
VBAK-VKORG
. . .
BDC_OKCODE
VALUE
AF
1000
ENT2
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
FIELD
KUAGV-KUNNR
VBAP-MATNR
. . .
BDC_OKCODE
VALUE
1280
P-103
SICH
How TCD Really Works - Replay
No SAP GUI session
Field values
FIELD
VBAK-AUART
VBAK-VKORG
. . .
BDC_OKCODE
VALUE
FIELD
KUAGV-KUNNR
VBAP-MATNR
. . .
BDC_OKCODE
AF
1000
ENT2
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Function code
VALUE
1280
P-103
SICH
The Command Interface
Transaction
Screen
Field
Field
Field
Screen
Field
Field
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Parameterizing Input Fields
You can replace the recorded values with either literals or variables
Field name
Double-click
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Value
Reading and Checking Output Fields
To...
MODE must be...
Field name in VALIN column
Read a value
'G'
Will contain value from output field
at the end of the transaction
Check a value
'C'
Contains the value that must be
present in the screen field at runtime
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Message Handling
TCD
Command Interface
Location of message
(program and screen)
Message attributes
MSG
Internal Table
(type, ID, number)
Message variables
(up to four)
Number of messages
&MSX
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Full text of message
(in logon language)
Reading Message Contents
Addressing the Last Message
<interface>-MSG[&MSX]-<component>
Looping Through All Messages
DO &MSX.
<interface>-MSG[&LPC]-<component>
ENDDO.
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Testing Messages
Require that a particular message is sent
ON_LAST_MESSAGE_CHECK ( 031 ).
TCD ( EC_TUTORIAL_TCD, EC_TUTORIAL_TCD_1 ).
Tolerate all messages
ON_LAST_MESSAGE_CHECK ( * ).
TCD ( EC_TUTORIAL_TCD, EC_TUTORIAL_TCD_1 ).
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Troubleshooting the TCD Command
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Unit Summary
In this unit you have learned:
 What transactions are suitable for testing using the TCD command
 How to record a transaction using the TCD command
 How to set input fields, read output fields, and perform fields checks
with the TCD command
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Unit 6:
Testing
Transactions - II
Testing control-based transactions
using the SAPGUI command
Unit Objectives
In this unit, you will learn:
 Why the TCD driver is not suitable for testing all transaction types
 How GUI Scripting works
 How to use the eCATT SAPGUI command to record a transaction
 How to set input fields, read output fields, and perform field checks in a
SAPGUI recording
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Choosing the Right Driver
Is the application
a function module
or BAPI?
No
Does the application
run under SAP GUI for
Windows or Java?
Yes
Does the application
use controls?
Yes
Are the controls
essential within
the transaction?
Yes
Use SAPGUI
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Backend
Frontend
Why TCD Cannot Test Everything
OCX control under
Windows
Bean under Java
SAP GUI Window
Control
ALV
Tree
Calendar
New recording
component
Action leads to
local processing
in SAP GUI
Action leads to
event handler
on application server
TCD
Recorder
eCATT
Application
Logic
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Introducing GUI Scripting
Scripting host in GUI
(Requires SAP GUI 6.20)
eCATT at backend
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Recording the SAPGUI Command – Procedure
1. Select SAPGUI(Record)
2. Set the scripting granularity
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Recording the SAPGUI Command - Procedure
3. Confirm that you want to record
4. Pick the relevant initial states
to record
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Scripting Granularity
Action
Action
Action
Action
Action
Action
S
Action
Action
Action
Action
Action
Action
Action
Action
Action
T
S
Action
Action
Action
Action
Action
Action
Session
Transaction
Screen
T: New Transaction
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
S: New Screen
Making Sense of the Command Interface - 1
One ProcessedScreen node per screen
UserChangedState describes the
user actions on the screen
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Parameterizing an Input Value
Field name
Enter parameter
name in this field
Double-click
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Recording the SAPGUI Command – Initial State
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Active and Inactive Checks
Active Checks
 Record the initial states of the selected screen element types
 On replay, check that the values in the fields correspond to the recorded
initial states
Inactive Checks
 Record the initial states of the selected screen element types so that
they can be placed into script parameters and used in the rest of the
script
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Making Sense of the Command Interface - 2
One InitialState node per processed screen
Are checks active?
Field name
Field value during recording
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Retrieving an Output Value
Double-click
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Enter
parameter
name in
this field
Activating and Deactivating Field Checks
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Message Handling – MESSAGE
Stipulate that certain messages
must/must not occur in order
for the script to be a success
Find out what messages occurred
during a particular block of
SAPGUI commands
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Message Handling - ENDMESSAGE
MIDX
MODE
MSGTYP
MSGID
MSGNR
MSGV1
MSGV2
LH
0400
<n>
F
E
ECDEMO
003
2
A
E
ECDEMO
021
3
A
S
XY
MSGV3
MSGV4
100
E_MSG_1
E_MSG_1[1]-MIDX contains the total number of messages in the table
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Creating Rules in the MESSAGE Statement
Rule = What to do + Message qualification
What to do
Mode
R:
E:
A:
F:
Message qualification
Require
Expect
Allow
Fail
Message
Type
Any combination of
Exit
Continue processing
or jump directly to
ENDMESSAGE?
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Message
Class
Message
Number
Some Sample Message Rules
“Tolerate all error messages”
Mode
'A'
Exit
MSGTYP
'E'
ID
Number
“Fail script and jump to ENDMESSAGE on error message ZJM 001”
Mode
'F'
Exit
'X'
MSGTYP
'E'
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
ID Number
'ZJM' '001'
Default Message Handling Rules
User-defined Rules
Allow
Success
Information messages
Warning
Fail and Exit
Error
Termination messages
Dump
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Message Processing
Look up in
user-defined
rules
Look up in
default
rules
New
Message
Discard

Process according
to rule
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›

Process according
to rule
The SAPGUI Command Interface 4
System Information
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Activating and Deactivating Screens
Active = ‘X’: Screen active
Active = ‘ ’: Screen inactive
Active = ‘O’: Screen optional
Screen 1
Screen 2
Screen 3
“Join” OK?
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Troubleshooting in the SAPGUI Command
Set automation
queue behavior
Run commands with
stops at various
granularity levels
Close GUI sessions or leave
them open for inspection
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Unit Summary
In this unit, you learned:
 Why the TCD driver is not suitable for testing all transaction types
 How GUI Scripting works
 How to use the eCATT SAPGUI command to record a transaction
 How to set input fields, read output fields, and perform field checks in a
SAPGUI recording
 How to activate and inactivate screens in a script, and the things that
you have to consider when doing so
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Unit 7:
Testing
Transactions - III
Testing Web- and Desktop-based
Applications Using an External Tool
Unit Objectives
In this unit, you will learn:
 When to use TCD and SAPGUI, and when you have to use an external
tool
 Why SAP chose to work with external tools
 The advantages of the external tool integration
 How the integration works
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Choosing the Right Driver
Is the application
a function module
or BAPI?
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
No
Does the application
run under SAP GUI for
Windows or Java?
No
Use
ext.
tool
Configuring The System for an External Tool
Run function module SET_EXTERNAL_TOOL
in test mode
Run program
ECATT_GENERATE_ET_USER
to generate service user
Regenerate authorizations in role SAP_ECET
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
External Tool Integration - Architecture
Application Server
Database
eCATT
Script
with
Attributes
Scripts stored
in SAP database
Physical
script
commands
Application
Under
Test
Frontend
External Tool
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Using Compuware TestPartner to Record a Script
Checks
VBA Functionality
Parameterization
Recording
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Passing Arguments To and From TestPartner – Argument
Container
eCATT
Argument Container
Script
TestPartner
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Passing Arguments To and From TestPartner – Script
Coding
Argument Container
Name
Type
Direction
...
I_Name
String
IMPORT
...
E_Value
String
IMPORT
...
Sub Main ()
Dim ImportParam As String, ExportParam As String
ImportParam = GetEcattArg("I_NAME")
. . .
SetEcattArg "E_VALUE", ExportParam
End Sub
Script: VBA Coding
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Uploading Scripts
Projects for upload
Script name and version
Administrative settings
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Calling External Scripts
REFEXT ( SCRIPT, INTERFACE, VERSION ).
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Unit Summary
In this unit, you have learned:
 When to use TCD and SAPGUI, and when you have to use an external
tool
 Why SAP chose to work with external tools
 The advantages of the external tool integration
 How the integration works
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Unit 8:
Building
Executable Tests
Calling Other Test Objects
Test Configurations and Test Data
Containers
The Test Workbench
Unit Objectives
In this unit, you will learn:
 How you can modularize tests at script level
 The difference between a test script and a test configuration
 How to create test configurations
 How to manage test data
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Modularization at Script Level
There are two reasons for modularization:
 To split up parts of a process into separate eCATT scripts to increase
the possibility of reusing them
 To allow the integration of non-eCATT objects, that is
 External scripts
 Existing CATT procedures
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
REF
Scripts can call other scripts:
REF ( SCRIPT, INTERFACE, [TARGET]).
Create Order
REF
ATP Check
REF
REF
REF
Manufacturing
Billing
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
REFCATT
From eCATT, you can call CATT procedures residing in the same
system:
REFCATT ( CATT, INTERFACE, [TARGET] ).
REFCATT ( CATT, INT, TGT ).
CATT
Procedure
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
TGT
REMOTECATT
You can also call CATT procedures that reside in a remote system:
REMOTECATT ( CATT, INTERFACE, TARGET ).
REFCATT ( CATT, INT, TGT ).
CATT
Procedure
in
TGT
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
EXE
Test Configuration
Data - Variants
Importing Parameters
Command
Command
Command
Command
<interface>,
<interface>,
<interface>,
<interface>,
Script
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
<target>.
<target>.
<target>.
<target>.
System mapping
System data container
Manual Variants
Quick entry for a few variants
Cut and paste possible from delimited text file (Excel)
Variants bound to a single configuration – not reusable
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Reusing Test Data: Test Data Containers
Variants
Test data container
Test data container
Importing Parameters
Command
Command
Command
Command
<interface>,
<interface>,
<interface>,
<interface>,
Script
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
<target>.
<target>.
<target>.
<target>.
System mapping
System data container
Test Data Container
Parameters
Name
Value
Airline LH
Date
Ref
System
S_CARR_ID
ABAP Type Length
D
8
Variants
Variant
Description
Var1
Var2
Data
Data
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Airline
AA
LH
Date
01.04.2002
01.04.2002
Managing Test Data 1
Test Script
Test Data Container
Parameters
P1
P2
P3
Parameters
P1
P2
P3
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Managing Test Data 2
Test Script
Test Script
Test Script
Parameters
P1
P2
P3
Parameters
P1
P4
P5
Parameters
P2
P5
P6
Test Data Container
Parameters P1, P2, P3, P4, P5, P6
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Managing Test Data 3
Test Script
Test Script
Test Script
20 Parameters
15 Parameters
24 Parameters
Test Data
Container
Test Data
Container
Test Data
Container
Parameter
Group 1
Parameter
Group 2
Parameter
Group n
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
...
Variant Wizard
Start variant wizard
Test Data Container
Variants
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Configuration Variants
Variants
Managing Test Data - Example
I_CARRID I_CONNID I_FLDATE I_FARE I_CURR I_TYPE I_MAX_E I_MAX_B...
LH
0400
20030101
600
EUR
747
250
40
LH
0400
20030102
750
EUR
747
250
40
LH
0400
20030103
600
EUR
747
250
40
QF
0006
20030101
1500
AUD
747
250
40
QF
0006
20030102
1850
AUD
747
250
40
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Managing Test Data - Example
Test Data
Container
Test Configuration
AIRLINES
Maximize reuse
Minimize redundancy
Test Data
Container
AIRCRAFT
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Data for a
particular
test case
Modularization at Test Organizer Level
Test Catalog
Test Plan
User
Test Package
Test Configuration
Test Configuration
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Unit Summary
In this unit, you have learned:
 How you can modularize tests at script level
 The difference between a test script and a test configuration
 How to create test configurations
 How to manage test data
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Unit 9:
Advanced Topics
Versioning of Scripts
Migrating CATT Procedures
Unit Objectives
In this unit, you will learn
 Why script versioning is necessary
 How to create different versions of a script
 How the system picks the correct version of a script for execution
 How to migrate CATT procedures to eCATT
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Versioning
For different implementations of the same test (for example,
transaction with / without controls), you can create different
versions of the same script.
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
How Versioning Works
Test Configuration
Script
EC_DEMO
Sys. Data
EC_DEMOSYSTEMS
Target Sys.
R3
Release?
4.6C
R/3
Rel. 4.6C
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Version 1: SAP_APPL 46C
Version 2: SAP_APPL 470
Specifying the Validity of a Version
Target System
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Backup Versions
Version 1
SAP_BASIS
610
Version 2
SAP_BASIS

620
Backup
Version 3
SAP_BASIS
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
620
Migration
Test System
CATT Module
Target System
‘X’
CATT Module
eCATT
Migration Function
New
NeweCATT
eCATTScript
Script
With target system X
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Migrating Variants
Test System
New eCATT Script
Target System
‘X’
with target system X
CATT Module
Script
Target System X
Variants
Test Configuration
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Variants
Recursive Migration
Test System
New eCATT Script
Target System
‘X’
with target system X
REF…
REF…
CATT Module
REF…
REF…
New eCATT Script
New eCATT Script
with target system X
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
CATT
Module
CATT
Module
Unit Summary
In this unit, you have learned
 Why script versioning is necessary
 How to create different versions of a script
 How the system picks the correct version of a script for execution
 How to migrate CATT procedures to eCATT
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Course Summary
In this course, you have learned
 What and when you need to test in the SAP Solution Lifecycle
 The advantages of eCATT for testing SAP systems compared with other
automated test tools
 How to set up your system environment for testing with eCATT
 How to create test cases to test various different kinds of SAP
applications
 How to create executable tests, and how these can be managed using
the SAP Test Workbench
 How to migrate CATT objects to eCATT
 SAP AG 2005, Title of Presentation / Speaker Name / ‹#›
Download