Testing Tool

Overview

Testing Tool provides functionality for regression and baseline testing of integration scenarios on PRO or CPI systems. It provides a flexible way to configure test cases and supports different ways to communicate with source SAP system. Once you run a test case, Figaf Tool sends an inbound message to SAP system and then fetches results using chosen integration type. Results are compared, and finally you can browse the differences on UI or in the test case’s excel report. Test cases can be aggregated as a test suite and run as single unit of testing. Test suite has it’s own excel report and can be scheduled. Scheduled testing and our REST API gives you a real opportunity to automate your testing flow or integrate Figaf Tool to existent processes.

Regression testing - app sends prepared input message from test case to the integration scenario and then compares actual output with prepared expected output.

Baseline testing - app records a full message group (inbound and outbound messages) from integration scenario relying on external natural trigger, then compares that message group with the related message group in test case.

How Testing Tool works

In this section we skip test cases preparation part as well as many features related to Testing Tool and show only the core testing process in action.

Agent is a configuration entity which represents a SAP system (PRO or CPI).

Agent System is an Agent where you take messages for test cases in the context of current testing flow.

Test System is an Agent where test cases will be run in the context of current testing flow.

Agent object is an integration scenario on Agent System in the context of current testing flow.

Test object is an integration scenario on Test System in the context of current testing flow.

Regression testing on PRO systems

The idea of regression testing is to check response of an integration scenario having identical request. PRO system has a lot of different sender side adapters and most of them can’t be easily triggered by Figaf Tool. Fortunately, it has a way to send a message through the system using a XI 3.0 Sender channel and a specific request. Figaf Tool requires special infrastructure scenarios to be able to send requests to PRO system. There are 2 types of infrastructure scenarios:

  1. Common infrastructure scenario. Only one per system.

    common pro infr scenario
  2. Specific infrastructure scenario. Such scenario is created per Agent Object/Test object pair only when it requires to add something to the sender channel.

    For example if you’ve chosen testing with Agent Sender Channel custom modules or testing with NumberRange module.

    specific pro infr scenario

All infrastructure scenarios have the same sender/receiver business component |TEST_MigrationHelper and receiver channel TEST_MigrationHelperReceiverStub which is never called.

Figaf Tool creates these infrastructure scenarios and checks their state automatically, so, you don’t need to do anything yourself. Just be sure that user defined in the Agent configuration has needed access.

When you run a test case Figaf Tool takes each inbound message, prepares a special request which includes information about target Test Object, inbound message payload and its Dynamic Properties (we filter adapter-specific properties), then sends it to XI 3.0 Sender Channel of infrastructure scenario on the Test System. Then the message is processed by XI 3.0 Sender Channel and forwarded directly to target Test Object ignoring its sender channel. That’s why it requires to create scenario-specific infrastructure scenarios when some custom modules should be used on the sender side. The first running of test cases takes a bit more time because it creates infrastructure scenario.

testing flow diagram

When messages are processed on PRO system, outbound messages can be received by Figaf Tool. It’s processed manually or automatically depending on your Agent configuration. Once outbound messages are received, Figaf Tool processes comparison of outbound message payloads and metadata.

test run details
diff viewer

Finally it builds an excel report for current test run.

Regression testing on CPI systems

The concept is the same as described above. CPI also supports many types of adapters but it doesn’t have any unified mechanism (at least for now) for sending messages directly to integration flows. For all adapters except HTTPS and SOAP, Figaf Tool uses CPI API to copy integration flow structure and replace sender adapter by HTTPS adapter in the copied version. Then it saves the new integration flow in the package FigafIRT <original package name> and deploys it. For integration flows with HTTPS or SOAP senders Figaf Tool sends messages directly to them. Similar to infrastructure scenarios update described in the previous section, Figaf Tool checks and updates copies of integration flows during test case running.

Baseline testing

The idea of baseline testing is to check both request and response of an integration scenario. Figaf Tool doesn’t use any additional infrastructure objects for that type of testing.

When you run a baseline test case, Figaf Tool creates a new recording request linked with current test run. Once messages are triggered and available on target system, they can be received by Figaf Tool. It’s processed manually or automatically depending on your Agent configuration. Once inbound outbound messages are received, Figaf Tool distributes them to testing results, processes comparison of message payloads and metadata. Finally it also builds an excel report for current test run.

When do you need Testing Tool

Some end-to-end use cases:

  1. Test when you are doing a SAP PI Upgrade/Patch in this case you want to make sure that nothing vital has changed on the SAP PI system. Figaf Tool allows you to run the test fast and validated all documentation.

  2. Test when you have done any development or modification of an SAP Interface. Figaf Tool allows you to fast run the test again.

  3. Test once you have done a migration from a dual stack to a single stack or from another integration platform. You can then upload the in- and outbound messages and process them on the PI system.

  4. Test that your Seeburger Migration works and doesn’t have any impact on your existing integrations.

  5. Extend the test cases from other testing applications like UFT or ALM with validation of the SAP PI/CPI interfaces. This will give you an extended validation of that the messages is created correctly. In this case you need to use the baseline option of Figaf Tool Testing Tool.