lid e
t l e s
t i
n t he
r e i
i ct u
p
f o ra
m ple
sa
Computer Aided Test Tool (CATT)
Fusco Maria Laura
NetWeaver Consultant - Development
Buenos Aires, July 2006
Learning map
Requirements for the participants
Definition
General Usage
Technical Aspects
CATT components
System settings
Running an existing CATT procedure
Creating a CATT procedure
Parameters and variants
Tips & tricks
Extend CATT procedure
Exercises
SAP AG 2006, Title of Presentation / Speaker Name / 2
Requirements for the participants
Know how in Business Processes
Basic know how in Customizing
Know how in Development is a plus
SAP AG 2006, Title of Presentation / Speaker Name / 3
CATT (Computer Aided Test Tool)
CATT (Computer Aided Test Tool) is completely integrated in the
ABAP workbench. This tool is used to upload master data. Since the
CATT tool sends data to the SAP system through the user interface, the
test data causes real database update.
Creation of the CATT test case
• Recording the transaction with sample data
• Download the source file template.
• Modifications of the source file.
• Upload of the data from the source file.
SAP AG 2006, Title of Presentation / Speaker Name / 4
CATT procedures – General Usage
The Computer Aided Test Tool (CATT) allows you to combine and
automate business processes as repeatable test procedures.
Checks
Process transactions and transaction chains automatically
Check transaction results
Check system messages
Check database updates
Check reactions to changes in Customizing settings
Create
Test data
Training data
SAP AG 2006, Title of Presentation / Speaker Name / 5
CATT procedures – Technical Aspects
CATT is cross-client
CATT uses the Batch input interfaces to run transactions
CATT provides flexible data management by the use of parameters and
variables
The CATT tool and the Test Workbench are Basis Applications, so they are
available in all ABAP based systems, such as R/3, CRM, APO, BW, etc.
SAP AG 2006, Title of Presentation / Speaker Name / 6
CATT components
Functions
Log Execution
CATT
procedure
Parameters &
Variants
SAP AG 2006, Title of Presentation / Speaker Name / 7
System settings
Maintaining table T000
Enabling Scripting at the front End
Enabling Scripting on application server
SAP AG 2006, Title of Presentation / Speaker Name / 8
Running an existing CATT procedure – Tx SCAT
SAP AG 2006, Title of Presentation / Speaker Name / 9
Creating a CATT procedure
1) Start recording (transaction code)
2) Navigate through the process as it is to be tested later
3) Stop recording
4) Edit the test procedure and run it
Maintain attributes
Maintain functions
Maintain parameters
Maintain variants
SAP AG 2006, Title of Presentation / Speaker Name / 10
Access to CATT
SAP AG 2006, Title of Presentation / Speaker Name / 11
Maintenance
SAP AG 2006, Title of Presentation / Speaker Name / 12
Screen Sequence
SAP AG 2006, Title of Presentation / Speaker Name / 13
Field list and definition of parameters
SAP AG 2006, Title of Presentation / Speaker Name / 14
Parameters
SAP AG 2006, Title of Presentation / Speaker Name / 15
Creating Variants
SAP AG 2006, Title of Presentation / Speaker Name / 16
Execution using variants
SAP AG 2006, Title of Presentation / Speaker Name / 17
Tips & Tricks for CATT creation
Only create test modules for transactions which you know well
Always use parameters to pass values to transactions
Choose the parameters and screen sequences so as to make the test
case as generally usable as possible
Always modify test cases so that they remain compatible
Document all test cases
Use variants for similar test cases
CATTs do database changes: never run a CATT in a Productive
Environment without having it tested before
F4 not recordable
SAP AG 2006, Title of Presentation / Speaker Name / 18
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 SAP solution that is running R/3
Basis Release 4.6C or higher
(see note 519858 for details of required support packages)
SAP AG 2006, Title of Presentation / Speaker Name / 19
eCATT vs CATT
The Extended Computer Aided Test Tool (eCATT) is the successor to SAP‘s CATT.
Test remote systems
Test database updates
Set up customizing tables
Call BAPIs and function modules
Supports CATT migration to eCATT
Donwload & upload in XML eCATT objects
Write ABAP routines
Choose SAP menu-> Test->Test Workbench->CATT->Extended
CATT. (Transaction code – SECATT)
SAP AG 2006, Title of Presentation / Speaker Name / 20
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 2006, Title of Presentation / Speaker Name / 21
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 4 5
2 3
Test
Test Workbench
script
SAP AG 2006, Title of Presentation / Speaker Name / 22
Mapping the System Landscape
1. Test CRM transaction
2. Check table entries
eCATT in R/3
3. Run transaction in R/3
4. Call function module
Web AS in APO
6.20
RFC
CRM R/3 APO
Business Process
SAP AG 2006, Title of Presentation / Speaker Name / 23
Defining RFC Destinations (SAP Note 128447)
Source System Target System
RFC Destination
Client: 100
Direct but unsafe Target
Lang: EN
User: tester Transaction
Pwd: letmein
Safe but cannot run unattended
RFC Destination
Client: 100 Target
Lang: EN Transaction
User: <current>
SAP AG 2006, Title of Presentation / Speaker Name / 24
Creating a System Data Container
System
SAP Web AS
under
6.20
test
Relationship described by
RFC destination XYZ
Target system . . . RFC Destination . . .
R3 XYZ
System Data Container
SAP AG 2006, Title of Presentation / Speaker Name / 25
Structure of a Script
Test Script
Attributes
Parameters
Importing Exporting
Local variables
Commands
SAP AG 2006, Title of Presentation / Speaker Name / 26
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 2006, Title of Presentation / Speaker Name / 27
The Script Editor
Parameter List
Command Structure
Editor Editor
SAP AG 2006, Title of Presentation / Speaker Name / 28
Simple Parameters
Creation
Use
I_IMPORT = 'LH'.
CHEVAR ( I_IMPORT <> 'UA' ).
. . .
SAP AG 2006, Title of Presentation / Speaker Name / 29
Script Language
Recording and playback of applications
Conditions Checks
Loops Calculations
Simulation of
Reading table values
Customizing settings
Blocks of ABAP coding
SAP AG 2006, Title of Presentation / Speaker Name / 30
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 2006, Title of Presentation / Speaker Name / 31
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 2006, Title of Presentation / Speaker Name / 32
The TCD Command
TCD ( transaction, interface, [sys] )
Same system
Different system
SAP AG 2006, Title of Presentation / Speaker Name / 33
How TCD Really Works - Recording
ENTER
FIELD VALUE FIELD VALUE
VBAK-AUART AF KUAGV-KUNNR 1280
VBAK-VKORG 1000 VBAP-MATNR P-103
. . . . . .
BDC_OKCODE ENT2 BDC_OKCODE SICH
SAP AG 2006, Title of Presentation / Speaker Name / 34
The Command Interface
Transaction
Screen
Field
Field
Field
Screen
Field
Field
SAP AG 2006, Title of Presentation / Speaker Name / 35
Parameterizing Input Fields
You can replace the recorded values with either literals or variables
Field name
Value
Double-click
SAP AG 2006, Title of Presentation / Speaker Name / 36
Reading and Checking Output Fields
To... MODE must be... Field name in VALIN column
Will contain value from output field
Read a value 'G' at the end of the transaction
Contains the value that must be
Check a value 'C'
present in the screen field at runtime
SAP AG 2006, Title of Presentation / Speaker Name / 37
Troubleshooting the TCD Command
SAP AG 2006, Title of Presentation / Speaker Name / 38
Test Configuration
Data - Variants
Importing Parameters
Command <interface>, <target>.
Command <interface>, <target>. System mapping
Command <interface>, <target>.
Command <interface>, <target>.
Script System data container
SAP AG 2006, Title of Presentation / Speaker Name / 39
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 2006, Title of Presentation / Speaker Name / 40
Variant Wizard
Start variant wizard
Test Data Container Configuration Variants
Variants Variants
SAP AG 2006, Title of Presentation / Speaker Name / 41
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 2006, Title of Presentation / Speaker Name / 42
Managing Test Data - Example
Test Configuration
Test Data
Container
AIRLINES
Maximize reuse
Data for a
Minimize redundancy particular
test case
Test Data
Container
AIRCRAFT
SAP AG 2006, Title of Presentation / Speaker Name / 43
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 2006, Title of Presentation / Speaker Name / 44
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 2006, Title of Presentation / Speaker Name / 45
Demo
SAP AG 2006, Title of Presentation / Speaker Name / 46