Our client is one of the largest commercial banks and one of the leading domestic banks in terms of various key performance indicators such as: equity, assets, profit, and the number of credit cards in circulation.
The customer uses it’s core banking system for operation, accounting, and management systems automation. This system is one of the most commonly used and effective automated banking systems.
In the summer of 2017, the Bank contacted PFLB with a request to automate testing of the core banking system.
Object Tested
The banking system includes Platform 1, which was the object tested in the project.
Platform 1
is a technology platform for Retail Module, Management Accounting, Front Office, Budget Planning for corporate customers, and Data Warehouse, as well as other systems based on this platform. It can handle high transactional loads, supporting thousands of users and millions of documents.
Level 1
Application model data warehouse: Oracle Server tables and views;
Level 2
Business logic: Oracle Server stored procedures;
Level 3
The user workspace is called Navigator: a universal client that implements the logic to display the application model to the end user.
Problem Description
One of the main advantages of the core banking system is the powerful tools for creating bank statements. Financial regulators’ requirements for them change periodically, so updating system components means not only improving performance and expanding functionality, but also updating bank statements to comply with the law. These revisions are applied locally and as part of quarterly software updates.
Accordingly, the updates must be deployed as quickly as possible. However, they affect the basic functionality of the core banking system. They cannot be deployed without full testing, and the regression test model is constantly growing in size. The nature and depth of the changes require a high level of competency to verify them, so the burden falls largely on the shoulders of specialized analysts. Consequently, the costs of regression testing increase with each new update.
Challenges
Solution Architecture and Tools
The main test automation tool was Winium, a free test automation desktop application based on Selenium, a tool for automating web applications.
To work around the inability to access the application’s main menu and to work with UI objects that are not easily automated, we used C++ to develop our own solution, called the System for Automated Testing of Bank Information Systems (SATBIS). This solution is a library that proxies ActiveX requests in order to obtain
information about menu objects and provide access to the toolbar.
The JDBC driver was used for working with the database. JDBC and Winium support the Java language, which was chosen as the main development language, and Java Native Interface (JNI) was used to integrate SATBIS into the developed framework. The framework itself was developed based on JUnit.
We used Jenkins to support the continuous integration process, while the Yandex.Allure framework, which we tailored to the customer’s needs, was responsiblefor generating test automation reports.
Testing
The overall testing scope was divided into UI tests and API tests.
UI tests involve automating the test by simulating the actions of a real system user, e.g. filling out forms and fields and clicking on interface elements.
API tests call stored procedures, sending certain inputs and analyzing the values received in the response.
Moreover, some tests were written at both the UI and API levels in order to optimize and reduce the execution time. This approach let us accelerate the automation of business processes and achieve a significant increase in productivity, since auxiliary operations unrelated to the tested business processes were moved from the slow UI level to the high-speed API level that works directly with the database.
To address the lack of a regression test model, ensure high test coverage, and create flexible test scenarios, our top specialists were involved in the functional testing. They handled all communications with the customer’s specialized analysts and, thanks to the close cooperation of both parties, the Bank’s analysts’ knowledge of the tested business processes was successfully transferred to the test model. Among other things, the specialists audited the bank’s existing test model and extended and adapted as needed for automation.
The functional scenarios for which automated tests were written were distinguished by the fact that they specified all the parameters to be used in the automated tests as well as the method of obtaining the parameter values (SQL query, data file, generation based on a template, and hard-coded values). Using this approach let us create flexible, parameterizable automated tests that are not tied to a specific banking product or product appearance, while remaining useable even when the Bank’s product line is updated.
This approach produced an increase in test coverage without additional costs to the customer, because the same automated test can be run repeatedly to check the business process on several product types without having to first perform a complicated configuration.
Results
We successfully completed the tasks assigned under the project: PFLB helped the Bank reduce the time required to perform regression testing and made it possible to independently expand and automate the test model without slipping schedules or reducing the quality of the product, allowing the customer to keep time frames and costs under control.
We also provided full assistance as the product was deployed on the Bank’s infrastructure and provided technical support for the developed solution.
In summary, we can highlight the following key results of this project:
With results like this, we can confidently say that the groundwork has been laid for further fruitful cooperation and that PFLB is ready to continue to partnering with the Bank, including in the automation of the rest of the regression model, and with other organizations that use the core banking system in their business operations.
Related insights in case studies
From Weeks to Hours: Accelerating Data Masking and Enabling Easy B2B Data Sharing for a Leading Bank
A leading bank, ranked among the top 20 in its market, provides services to millions of customers daily. Staying at the forefront of this competitive market requires not only stable and updated infrastructure but also rapid feature delivery to maintain the highest service quality. Challenge The bank faced a critical challenge in enabling safe sharing […]
Leading Oil & Gas Innovator, NOV Excels with Real-Time Drilling Data After Load Testing
NOV, a renowned global provider of equipment, components, and IT products for the oil and gas industry, which is located in Texas, USA, empowers extraction companies worldwide with innovative technological solutions that enable the safe and efficient production of abundant energy while minimizing environmental impact. Under its CTES brand, NOV offers a range of IT […]
From Hundreds to Thousands: Scaling MEFA Pathway Software for Mass Student Registration
FolderWave, Inc. is a leading digital services provider in the Massachusetts e-learning sector. It aids millions of students in researching and planning a job-oriented education. The company delivers IT solutions, platforms, and services in partnership with notable non-profit organizations like MEFA Pathway and College Board, which connect a vast network of colleges, schools, and universities […]
How Load Testing Helped Texans Survive Power Outages During a Storm
Background The largest electric distribution cooperative in Texas and the United States, Pedernales Electric Cooperative (PEC), had to test its new software systems, the Storm Center and the OR&S (Outage Reporting & Status), before the release to ensure their adequate performance under peak load. Challenge PEC had a strict release deadline and needed to test […]
Be the first one to know
We’ll send you a monthly e-mail with all the useful insights that we will have found and analyzed
People love to read
Explore the most popular articles we’ve written so far