Tailoring the GSMA Interoperability Test Platform to meet business needs: A closer look at the test case engine

Have you ever been frustrated when trying to use a new system and it doesn’t behave as desired? And what about when the integration between systems you use becomes a challenge? These are problems of interoperability, and they are even bigger and more crucial when it comes to financial transactions, due to lack of specification or an unclear understanding.

Interoperability between financial service providers allows different systems to work together to achieve new types of transactions, making services more attractive and useful for end-users. However, due to the numerous combinations of possibilities, the number of test cases for a financial services platform can be quite large. One single use-case such as P2P transactions can easily exceed 100 test-cases. Considering this with the fact that there are many different types of transactions available, there will be numerous possibilities for combining and the whole ecosystem could quickly grow to hundreds or even thousands of flows to test. As a result, it is important that new test cases are easy to create, adapt, and use. In this blog post, we will discuss how the creation of different test cases helps to validate a system’s operational flows, improving interoperability, and driving business needs forwards.

Interoperability test flows and ITP

An interoperability test seeks to evaluate the different flows that systems can perform during communication. The primary flows aim to assess the fulfilment of the main needs of users: these are called happy flows. In addition, it is important that alternative flows – called unhappy flows – are also considered even if they are less frequent or undesirable. System errors or rejected transactions are examples of these unhappy flows.

With these types of flow in mind, the Inclusive Tech Lab made the Interoperability Test Platform (ITP). The ITP uses modular programming allowing for a more efficient test environment as discussed in our last publication. The modularity of the architecture also allows quick customisation of the platform and simplifies the addition of new use cases and test cases. This means that different evaluation flows in an interoperability ecosystem can quickly be added and tested.

How the test cases work

Within the platform, everything starts by creating a test “session”. Sessions are defined by a selection of use cases and test cases with a particular validation purpose and possibly a common scope. When creating a new session, users can choose from several predefined test cases available. The types of tests available depend on which system in the interoperability flow is under test.

Each test was designed to run through a list of steps. These steps guide the system to analyse the requests and responses between entities, using the Open API specification details and business rules to check that the systems are behaving correctly. If an error occurs during the execution of a test, the platform compares the expected flow with what was actually obtained, leading to a better understanding of the problem, and saving valuable debugging time for the test team.

The test cases are designed to enable the user to test different situations within their system by modifying test case parameters. This makes the system easily adaptable for different purposes, without the need to define specific tests for each currency or location. Currently, test cases are described through a YAML file, a data serialization format similar to JSON and XML that is designed to be legible by humans without prior programming knowledge. Therefore, any user, with appropriate access, can write new test cases or new flows and insert them into the platform. To further improve the user experience around managing test cases, our team is working on a visual interface for test case creation. Our documentation provides a detailed guide explaining how to create new test cases and contribute to the improvement of the platform.

How can the Interoperability Test Platform support business needs?

Interoperability testing allows operators to get a rapid return on system integration and also plan and execute service expansion more quickly and reliably. In addition, it benefits the users, who will have a more robust system and better services. That is why the Interoperability Test Platform has become an essential component in the testing process. We can provide an environment already set up with all the necessary support to test integration between operators, service providers, and switches. Using the platform for interoperability testing allows you to achieve better outcomes, offering sound financial operations, and making your business more valuable and attractive.

Here are some of the benefits to operators and service providers the ITP can offer:

  • Helps to ensure uniformity in the used data formats;
  • Evaluates synchronisation with other products and services;
  • Increase resistance to external attacks by improving system information flow;
  • Improve operators’ understanding and reaction to system conditions, allowing better decision making and increasing efficiency;
  • Helps reduce the time it takes to have useful conversations between providers;
  • Helps reduce the time it takes to have useful conversations between providers;
  • Helps reduce the time it takes to have useful conversations between providers; and
  • Reduce time to development of new services. • Reduce maintenance costs.

The platform currently provides test cases addressing Merchant-Initiated Merchant Payment and P2P flows. As we said, the combination of possible flows is enormous, and there are still new flows even within these types of transactions. Thus, the platform is being constantly updated and our team continues to work to provide new tests. Currently under development are new test cases for Agent Initiated Cash-Out, Customer Initiated Cash-Out, and Customer-Initiated Merchant Payment.

Can the Lab help me with more specific tests?

The answer is yes! The project is open-source and interested parties can access our repository on GitHub, download and customise the platform, and test cases as they wish. We are constantly improving and expanding the platform and we are happy to hear from you to better discuss how we can help in the process of creating more specific test cases that best fit your business purposes or even new features for the platform. We are willing to assist operators and service providers and contribute to this process. So, if you think that there are test cases that we should prioritise, be sure to contact us!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.