In the modern realities of the card business, the functionality of processing centers (PC) is expanding rapidly, and the complexity of improvements and implementations is such that it is sometimes not possible to track potentially problematic areas at the development stage. Against this background, paradoxically, the level and, more importantly, the quality of testing improvements is hopelessly behind. The most important reason for this situation is in the very attitude to testing.
So far, our country has not yet developed the very “culture” of testing. Many consider this a pointless investment of finance and allocation of labor costs, which can easily be neglected. There is still no firm understanding that the testing process is no less important than the development process and requires a sufficient amount of time and money. However, in addition to the psychological factor, there are problems with the environment and the tool for conducting full-scale and high-quality testing. Of these problems, the following can be distinguished:
- There is no unified and systematic approach to the testing process.
- The existing tests do not cover all the functionality provided by banks to their customers in the form of card services.
- The available tools do not allow you to create the necessary conditions for checking regular work or abnormal situations in the PC.
- The fragmentation of the infrastructure makes it impossible to automate the process.
All of these reasons are present in various combinations in each processing center.
The current state of affairs is difficult to accept, because the organizational gaps in the work of the PC affect not only the quality of their services, but also their reputation. Given that the PC provides services to specific financial institutions represented by banks, the banks also bear reputational and financial risks.
This article attempts to draw attention to the current situation, to combine knowledge about the most common and available testing methods, as well as to conduct a comparative analysis of the pros and cons of such solutions.
In the PC, as a rule, the following types of testing are carried out:
- functional;
- regression;
- load.
The following testing tools are used:
- simulation (emulators) payment systems (VISA, MasterCard, CUP);
- in-house scripts in different programming languages;
- real device (POS, ATM, various gateways);
- simulation (emulators) independent producers.
Simulators (emulators) of payment systems
Advantages:
- A significant advantage is the requirements imposed on both acquirers and issuers, so it is obvious here what you should pay attention to.
- Support for simulators (emulators) in the form of documentation and specialized support services.
Disadvantages:
- One-sided testing, when only part of the functionality of the PC is checked, whereas the PC can interact with several payment systems and several types of different devices, such as ATMs, POS terminals and various payment gateways.
- The specifics of a particular PC are not taken into account, when, for example, requirements that differ from the generally accepted ones can be used by agreement with the payment system.
- Possible difficulties when setting up such solutions. Each emulator has its own interface, settings, and features. All this leads to increased labor costs and possible errors at work.
- Possible absence of such software for specific needs of the PC.
Self-written scripts.
Advantages:
- Variety and flexibility in creating new scripts.
- The focus of the created scripts on the features of a particular PC.
Disadvantages:
- The complexity of the change of dynamic data.
- The need to learn scripting languages.
- The difficulty of keeping scripts up to date.
Real devices.
Advantages:
- The indisputable advantage is the realism and reliability of the tests performed.
Disadvantages:
- The inability to reproduce a large number of possible situations in real life.
Simulators (emulators) of independent manufacturers.
Advantages:
- Focus on the tasks of a specific customer.
- The ability to support.
Disadvantages:
- It involves outsourcing and the associated risks.
- An independent manufacturer does not always inspire the confidence of a potential customer.
Currently conducted tests in the PC include the following features:
-
- testing the health of only those fixes that are planned to be implemented in the near future;
The functionality is only partially checked, and thus errors made during the introduction of a new service or new improvements are not detected. In turn, this leads to an endless process of identifying and eliminating essentially the same errors.
-
- testing is performed immediately on the production system;< / li>
This approach is the most undesirable, because it is obvious that in this case, neither the concern for the clients of the PC nor the reputation of the PC itself can be discussed. Although, from the point of view of the PC, testing on industrial volumes is the most effective and reliable. Too frequent use of such a testing method in the future may result in personnel decisions for the employees of the PC.
-
- testing is performed only on real devices, because it is considered more reliable;
Proponents of this approach in testing advocate for the reliability and reliability of the data obtained. However, there are two significant drawbacks:
-
- from time to time, you have to deal with the complexity of connecting and configuring a real device, because the device can also be tested for its software;
- the inability to emulate a large number of situations that, under certain conditions, occur in life, but for some reason cannot be reproduced in the laboratory.
These approaches, even in the aggregate of their use, will not lead to the desired result – reliable and highly error – free operation of the PC, because it is impossible to build on their basis the most important thing-a systematic approach.
New requirements for the work of the PC also put forward new requirements for testing. The main tasks that must be solved in the process of testing the PC are:
- error-free operation of all systems, PTS, not individually but as a whole;
- fault tolerance systems PTS regardless of the number of installed modifications or new services;
- high-speed testing of all systems of PTS as a whole;
- maintaining a database of tests and their easy adaptation to periodic changes in the PTS.
Due to the specifics of the work of the PC and its environment, the implementation of these tasks is possible only if all the approaches used are integrated in one software package. Of course, this should be a complex, since the PC should be considered as a whole when testing.
Such a software package must meet the following requirements:
- support for all formatters used in the PC without exception;
- support for a database with tests, including both simple cases and all the precedents that have taken place;
- the ability to quickly create new tests and edit existing ones;
- mandatory support for the software package in order to meet the changing requirements of payment systems or business tasks.
Probably, such software systems have been developed and exist, but they are unknown to a wide range of PC’s and therefore are not used. It was the lack of attention to the problems of testing, the lack of flexibility of existing testing tools, the awareness of the need to bring the testing process to a single denominator and bring it to a qualitatively new level that led to the creation of the FrontEnd Testing System software package from FavorX. When creating it, the developers tried to combine the strengths of the other tools. At the same time, the complex is not a final product with a fixed number of possibilities. This is a very flexible system, which, thanks to the constant support from FavorX, can be configured to meet the current tasks and needs of any PC.