Challenges in Testing the Banking Application
In a continuous endeavor to leverage technology, improve Cost-to-Income ratio, and
enhance the services offered to customers, banks keep upgrading their systems and
introduce new customer touch points. Innovative products and solutions are launched to
make banking even more safe, secure and convenient for customers. With increase in
complexity of these systems, testing of the banking applications becomes more and more
challenging.
Typically a banking application has to undergo following testing to ensure that it meets
the goals:
- Functional Testing
- Security/ Penetration testing
- Performance Testing
- Compatibility / Usability testing (for Applications with Customer facing Interface)
Let’s discuss some common challenges faced while conducting each of these testing.
Functional Testing:
- To meet the ever changing business need of banking industry, the applications are
made highly configurable. Introduction of new parameters increases the number of
functional paths that should be verified during testing by manifolds. All these
possible scenarios along with the boundary conditions should be rigorously tested.
This increases complexity in Test design phase. Covering all the relevant and
critical scenarios within the stipulated time of a project can be a daunting task
- With the increase in customer touch points like internet banking, mobile apps, self
service kiosks to list a few, testing should make certain that specific scenarios
for all access channels are thoroughly covered. Simulation and capturing of test
results for all these channels is an eternal challenge
- Compliance and regulatory requirements vary from region to region. Any change in
these requires regression testing of the system. Understanding the changes and
translating these changes into system impact and test scenarios can be complicated
at times
- Lastly, importance of proper data can’t be undermined for a complete and effective
functional testing. However many of the times it is difficult to prepare the
required input data to simulate all scenarios
Security / Penetration Testing:
- Owing to the sensitivity of data, banking applications are most vulnerable to
hacking, spam and other fraudulent activities. As more number of end points are
added to an application, more avenues are presented to the hackers through which an
application can be attacked. To ensure data security, all these channels and the
types of accesses needs to be tested thoroughly
- Different countries have different bank secrecy laws for customer data protection.
Moreover, international data security norms are updated regularly to keep the
standards abreast with new security threats. This makes the testing even more
essential and tough
Performance testing:
- Most of the performance testing scenarios can’t be simulated in test environment,
therefore a near simulation or simulation through some external tool is used for
testing. This limits the effectiveness of testing as the actual issues can’t be
traced which might arise in production later
- Normally the test environment does not have the same processing capacity as the
production environment. So most of the time some issues are attributed to the
limited capacity of the test environment. For a tester to prove that the errors are
due to some flaws in application and not due to the limitation in test environment
is very difficult
- Moreover, creating and maintaining the extensive range and volume of data similar to
production is a tedious task
Compatibility and Usability Testing:
- The ease of usage of any customer facing application decides its fate. The same
applies to banking applications as well. The application should be user friendly and
should be accessible to bank’s targeted socio-economic segments. In some cases the
success of an application can help the bank to acquire, retain and grow their
customer base. This aspect should be envisaged and covered in testing
- A customer can access a banking application using different platforms like different
browsers, devices or networks. In order to provide an optimal user experience, bank
needs to ensure that the look and feel of applications on any of the access medium
remains the same. Hence testing should cover compatibility across all platforms
while adhering to their security standards. Also, scalability of the design to
accommodate new delivery channels should be considered. This makes the scope
determination and execution of compatibility testing for any customer facing banking
application a massive task
After considering all these challenges, there is no doubt that software testing for
banking application is an arduous task, where so many things can go wrong.
But, as per the famous quote from Mosher’s law of software engineering:
“Don’t worry if it doesn’t work right. If everything did, you would be out of a
job.”
Debasis Mohanty
Debasis heads the delivery for all client engagements at Verinite. He has a long track
record of delivering high quality, responsive, secure and cost-effective business and
technology solutions in BFSI domain. Outside his work, he is an amateur animator, a
sports enthusiast, a voracious reader and a Trivia buff.