As fintech has gained popularity across the UK, the financial landscape presents certain challenges to software development and quality assurance when creating these booming fintech apps.
Erik Fogg is a Co-Founder and Chief Operating Officer at ProdPerfect, an autonomous E2E regression testing solution that leverages live user behaviour data. Here he shares his thoughts on fintech challenges and the growing need for quality assurance.
Within the last decade, fintech has become an embedded part of people’s daily lives; this is especially true in the UK, which has a higher consumer adoption rate for fintech apps than the global average. Fintech apps have exploded in popularity in recent years and cover everything from banking services to investments, asset trading, cryptocurrencies, and more. The financial landscape presents some unique challenges to software development and quality assurance that go beyond what is typically encountered in general software QA.
The Fintech Revolution & the Need for Quality Assurance
A report by Capgemini and LinkedIn found that over 90% of fintech firms considered agility and providing an enhanced customer experience as key reasons for their competitive success. Being able to move quickly to fill market niches and to meet and exceed customer expectations is crucial for many fintech companies, but this speed must be met with impeccable QA to prevent errors from making it into production code. Failures in areas such as data integrity, the protection of personal information, data confidentiality, and security breaches can all immediately kill a fintech app. With the stakes as high as they are, the need for solid QA in fintech cannot be understated.
Main Challenges in Developing Fintech Applications
Fintech application development and testing require having developers and testers who have an in-depth understanding of the fintech landscape. Beyond traditional app development, fintech applications must also adhere to various compliance guidelines and regulatory requirements that differ from market to market. This kind of specialised knowledge can be difficult to acquire, so some companies may choose to outsource parts of their development or QA processes to companies with more experience and expertise in these fields.
Beyond these regulatory requirements, there is a heavy emphasis on cybersecurity and the protection of private customer data. Fintech applications deal with sensitive financial information. Data integrity and data security are absolutely vital because a customer that believes they have lost money (regardless of whether they actually have) will quickly abandon an app if it is seen in any way to be insecure or compromised.
The quick and correct processing of data presents another challenge to fintech applications. Very often, a fintech application interacts with numerous external APIs and other microservices that must all be handled correctly and gracefully handle exceptions. This can be difficult to do when using in-house microservices but becomes even more difficult with the addition of third-party libraries and microservices, which may return unexpected data that must always be handled gracefully. All of this data processing must be handled in high volumes in real-time, so any issue that is not caught during QA has the potential to have a disastrous cascading effect in a production environment.
The Role of QA in Fintech Software Development
The defining characteristics of QA in fintech can be broken down into several key areas: data protection, data security, regulatory compliance, usability, and functionality. Testers must have an understanding of the demands of the fintech industry and the rapidity of development in fintech. Fintech is an industry particularly suitable to the ‘shift-left’ approach to testing. Test suites should be broken up into many different areas – such as compliance testing, load testing, data integrity, etc. These parcels of tests can then be run at different stages of development and in parallel to each other. A monolith testing suite can take a long time to run, which can negatively impact the time it takes to push updates in a fast-paced development environment.
Performance testing and load testing is typically conducted towards the end of the software development life cycle (SDLC), but a shift-left approach to this kind of testing is necessary for fintech, an industry that frequently deals with very heavy traffic loads and rapidly changing data. Testing must be thorough, and tools like service virtualisation are necessary to provide a realistic environment for the application under test. Service virtualisation helps provide assurance as to how well the app performs under different kinds of loads and environments, which closely mimic real-world situations.
Simulating the kind of loads and environments fintech applications are likely to run under typically requires testing on the cloud, but fintech apps must be careful with the kinds of data they expose to the cloud. There are guidelines and regulations that may limit or forbid the kinds of data that can be uploaded to the cloud (or they require additional levels of data protection and handling that testing environments may not account for). However, any sensitive data must still be mocked and run at scale to provide assurance as to how well a fintech app works under stress. The test data and the volume of test data need to closely match what an app will realistically be subject to, which can be a challenge for many in-house testing departments. This is where an experienced end to end (E2E) testing partner can really demonstrate their value.
Why fintech software testing must be done differently
Testing in fintech requires a much more thorough and voluminous test suite than many other types of software. What is ‘good enough’ for many apps is simply not enough for a fintech app. A higher testing standard requires much more testing; more unit tests, more API tests, more E2E tests. However, it’s not enough to simply have more tests. These tests must provide value; it’s not enough to simply write ‘more’. Low-value tests will lead to test suite bloat and crush deployment speed, so each test (especially each E2E test) must be chosen rigorously and deliberately with a core purpose in mind – to fulfil user requirements, comply with regulations, prove a module is correct, and demonstrate graceful handling of data when a component malfunctions.
This is balanced by the need to move fast. One can consider software testing vs. software development as a game of tug of war. Developers and executives want to move fast and penetrate new markets, while fintech testing demands a level of thoroughness over and above other kinds of apps. Writing these apps and conducting these tests takes a lot of time, which is why the fintech industry has been so keen to adopt automation tests and adopt AI and ML-based toolsets and services to improve prioritisation, runtime, and maintenance efficacy of their E2E test suites.
Benefits of Great QA Testing for Fintech Applications
The benefits of a well-considered and implemented QA testing process are numerous. First and foremost is the improved user experience and the overall quality of the app. Combined with a quicker time to market, this means that fintech apps with rock-solid QA can actually be more profitable than those without. Particularly considering how laborious QA testing can be, a great QA testing platform can actually help a fintech app save time and money. Intelligently identifying what needs testing and appropriately breaking down test suites into different categories, which can be run at different times and frequencies during the SDLC, can provide all the benefits of thorough testing without slowing down testing runtime or app development. This results in a more stable app with a faster time to market while still meeting the demands of the large and ever-evolving financial market.