The Computer Aided Test Tool (CATT) is used for the creation of manual or automated test cases. It allows to highly automate the testing process in general and deliver fast, consistent and repeatable results.

The modularity of a tool such as CATT is perfect for mapping End-To-End scenarios into automated test cases. SAP recommends that complex test cases (test procedures) be assembled modularly from simple test cases (test modules). One test module usually tests one transaction. Test modules are test cases for a transaction, and test procedures are test cases for a process.

This concept allows for reusability of test modules in different test procedure and is low maintenance as the changes made in test modules are immediately effective in the test procedures which use them.  A completely automated regression test package will most likely never be possible, but a lot of the work can be automated. The time and effort of doing so should be quickly offset by the advantages listed below:

  • Provide a set of repeatable and maintainable business processes within the SAP system
  • Considerably reduce the number of manual tests
  • Allow systematic testing of every new installation
  • Provide archivable logs which can also be used as audit trails.

CATT can be used to perform different types of activities inside and outside the scope of testing

  • transactions
  • error message generation
  • the correctness of calculations and database updates
  • the changes to customisation
  • the format execution of display transactions and reports
  • for tests
  • for training
  • for production loading and initialising

CATT limits and exclusions:

The testing of interfaces cannot be included to the automated test package. Simulation of some interfaces can be considered. CATT also allows a limited capability of dialogue with external applications. Further investigation of theses various possibilities will need to be done once the test scenario will have been defined.

However, to optimize the reusability of the test package across countries, the CATT test modules and procedures can be developed without containing language-dependent elements (fast paths, language dependent function codes). Text variables can be used for language-dependent fields. To ensure language independence of measurement units, a constant value, a variable or an input parameter must be used as input value.

The value must always be specified in the original language of the CATT procedure. If the run time execution language of a procedure is not the original language, the conversion exit CUNIT translates the input of a language-dependent measurement unit into screen field in an internal format, which is not language-dependent, and from this back to the execution language. This is done by the SAP system standard conversion function modules.

New CATT functions in releases 4.0, 4.5 and 4.6

  • New Maintenance Mode (4.6): Provides CATT functionality in an environment requiring little or no training.
  • Rationalisation of Variants (4.6): The distinction between “internal” and “external” variants has been dropped.
  • Extended System Messages Checks (4.6): All the information about a message can now be checked whereas previously only the message number was checked. Up to 3 messages can be specified.
  • Check Field Values (4.6): The check function will validate whether the runtime value of a field is the expected value at the end of a transaction.
  • Read Field Values (4.6): Definition of a parameter for the field to be read and into which the value is put after the transaction run.
  • Simulation of Controls (4.6): Alignment of CATT to Custom Controls functionality.
  • Namespace Extension (4.0): The CATT modules/procedures names have been extended from 8 characters to 30. The number assignment has been changed from internal to external.
  • CATT test Upgrade change management (4.5b): A Change Management function has been introduced to allow screen sequence changes.
  • Screen Simulation Mode (4.5): Parameters can be maintained in screens in Screen Simulation Mode. It allows the maintenance of nested sub screens, table controls and tab scripts
  • Function Module Test (4.0): Function modules can be tested via CATT using type case “F”. These tests can also be managed in the Test Workbench.
  • Waiting Times in test cases (4.5b and 4.6): Allows to separate transactions by a specified waiting time using a parameter. In 4.6 you can specify a waiting time between screens too.
  • CATT mode without COMMIT WORK termination (4.0): The new CATT mode allows transactions containing one or more COMMIT WORKs to be recorded and tested.
  • Homogenization of Modules and Procedures (4.5): The term “Test Case” is now use for both modules and procedures as they have been made more similar.
  • Re-test from the Log (4.0): Individual test cases can now be re-tested from the log. The import interface will be using the same values as in the logged test.

New CATT functions in release 4.6C

  • Functions ELSEIF and ELSE
  • Marking processed screens
  • Message screen SAPMSCEM 0001: to check for messages including in R/2 system.
  • Initial screen with favorites
  • CATT easy mode initial screen: attributes button has been added
  • Deleting test cases with report RSCATDELETE: to use via transaction SE38
  • Copy with references using report RSCATCOPY: via transaction SE38
  • Processing groups of CATT test plan logs: Porc


NOTE : Test cases from systems with at least 4.5A cannot be transported into systems lower than 4.5A.