“I work as a QA Lead for a fintech company” I answer when someone asks me what I do for a living. “Fintech, what’s that?” is the typical response. I don’t find it strange because it is the first time I’ve used the term in my career, even though I have worked for a big bank before.
The term fintech is a combination of the term: “Financial Technology”; and it describes any business that uses technology to modify, enhance, or automate financial services for businesses or consumers. For example, mobile banking and all banking-related operations, payment processing as peer-to-peer payment services (for example bizum) or cryptocurrencies (e.g. Bitcoin), insurance activities, applications that organise your accounts to give you reports and metrics about your funds (e.g. Fintonic), and many more.
What are the ways of working in a big financial company?
There are high expectations around fintech software. As per the description above, there is a wide range of sectors involved in fintech and for each of them, we have specific requirements and needs. All these services and software work with bank account data using APIs (mostly), and they were created to improve the “old way” of doing that kind of business that would incur a lot of different transactions or information shared between different companies. This requires time, effort, permissions and different type of access, making it faster, cheaper and more secure in less steps.
We don’t need to think a lot to understand the importance of the role a QA has in this kind of business. There is a lot of complexity in all the operations involved in every fintech application, even the most simple of all. Why is this? Mainly because we are talking about money; access to personal and confidential data, different banks sending money to each other and calculating the corresponding balance between them (maybe in different currencies), keeping a record for legality use, and complying with the regulations of each country. All of this, of course, requires precision, privacy, reliability and lots of security.
QA becomes a must as they need to tackle issues of cybersecurity features, high data volumes processing in real-time, concurring transactions and all the risks that this involves. And all of this, without losing sight in user experience, making the applications reliable, fast and easy to use at the same time!
Furthermore, any bug in this sector, the same as in any other, would have a big impact on the reputation of the company.
Image 1: Cost of fixing a bug depending on the moment the bug is found during the cycle of life of the software
But overall, the big difference would be the loss of money that it could create. We can get an idea of this by looking at some numbers. For example; the number of cashless transactions in the world in 2020 and the forecast model for 2025 and 2030 from a model of the past year (2021).
Image 2: PwC Strategy& global payments model, 2021.
This graph shows us another important aspect about the fintech market; there are a lot of competitors in there. This means that the companies need to find a balance between quality and reliability of the software that they develop. After lots of time and hard work on the process, from design, development and testing, to releasing new software on a regular basis into the market, you risk being obsolete and losing clients. So the software of fintech needs to follow trends to be competitive to not lose market position.
I remember on the first day of client meetings, my colleague told me: “the financial company is like a moving train that you have to get on”. Indeed it is, and now I understand why.
Image 3: My first day in a big financial company in a picture, the essence made image.
So, the releases can’t stop just because you joined here and don’t know exactly how everything works. You are a senior employee, and have experience working in QA in important software companies, what is the big deal, right?
There are a lot of services that are related to each other that are a part of the core and the database: accounts, notifications, reports, ledgers, direct debits, cards, fees, payments (external, inbound), treasury, different providers, different clients with different casuistry, schedules, and of course some user interfaces. I ran into a deployment to QA environment on my first week. Everybody was working hard to push the work and finish the tickets on time for the code cut. Taking time to stop and explain the service to the new incorporation was hard. People there know what it is to be new, and they understand and help all they can, but still, the train is running!
So, in all of this, how can testing be useful for fintech development? We can find several stages:
At the beginning of the development of a new feature, any testing process will start with manual functional checks. This stage is very important to make a quality line base, because having it tested for standards of security for financial transactions and use of confidential information, we can rely on the automation that will be built later.
All the business processes must be understood as technically complex requirements, rules and regulations are mandatory. There are frequent changes in financial legislation so we need to always be up to date. And as I mentioned before, there are a lot of different services that are related to each other, so testers have to check that the software interacts correctly with other systems and components.
Once we have a good base in terms of quality, we can apply test automation which will let us have faster checks, reducing the time for regression testing and letting the company to release into the market applications faster, assuring the expected level of quality.
Using agile methodologies as Scrum or Kanban releases, if necessary, facilitates the releases of this kind of software but still, due to the complexity and all the applications involved, the release day can be stressful for QA teams. Lot of squads need to have the sign off on time for the next deployment to QA, and some of them depend on other services that belong to a different group. Any patch needed must be approved taking into account the dependencies and last minute changes that can impact other teams and make the release process difficult. So the train is running and all the members are working to keep the carriages together.
Image 4: It’s like a gear.
Of course there are other kinds of testing that must be done in fintech applications like load testing or security testing, although in my case, we are not involved in this kind of testing so I can’t talk from experience.