Over the years technology has been viewed as a major game changer for the finance and banking industry. Online banking, bill payments, and related transactions have become a way of life. With digital technologies influencing every aspect of consumer routine, it has indisputably brought a fresh wave of change and innovation in the financial domain.
PWC Report “An Ounce of Prevention, Why Financial Institutions need Automated testing”, clearly states the hazards of manual testing:
- 21% of defects are not identified until after software goes live
- 70% industry target for a percentage of testing that should be automated.
The banking technology landscape has a unique set of challenges especially due to the major digital transformation drives most of the financial institutions are undergoing. The number of customer facing and customer servicing digital channels have increased with these digital initiatives. Despite this, the existing legacy back-end applications are still irreplaceable as they continue to hold most of the business processing logic. This has resulted in complex integration points – between the customer-facing digital touch-points and legacy back-end applications. Therefore, any banking transaction- simple or complex involves traversal across a gamut of platforms and applications.
Additionally, the nature of a banking transaction – be it loans, revolving credit, retail lending etc. has long transaction life cycles that span across multiple calendar days to a month and involves validation of complex financial calculations and regulatory requirements. Testing such domains and lifecycles that involve heterogeneous platforms, intensive in calculations and lengthy transaction time with huge dependencies on batch processing certainly brings its own unique list of challenges.
As every other industry did at the start, Banking also tried to meet its testing and quality compliance needs by doing it manually. But with the uniqueness of the landscape and lengthy lifecycles that banking poses, manual testing was not only time consuming but also incomplete in most of the scenarios involving End-to-End testing. The complex financial calculations were typically avoided and testing was restricted to simple status check – thus reducing the testing effectiveness and leaving it till the end till the business users perform basic acceptance tests
It became imperative that with growing digitization and ineffectiveness of manual testing, the Banking industry had to naturally adopt automation. But even that didn’t turn sweeten the pill.
With customer-facing channels undergoing rapid changes to be digitally active, the amount of testing that is required has increased manifold. Given the monetary, regulatory and customer impact any change has, it is imperative that a proper automation strategy has to be put in place to test all the integration touch points when a change is made
Doing test automation using generic tools in Banking failed to give the desired ROI. The typical challenges were around:
- Huge Framework Build Effort to test across technologies including Web, Desktop, Soap, REST, API, Mainframe, PL/SQL etc.
- High Maintenance Effort to comply with application changes in terms of UI, templates etc. as part of releases, regulatory changes and upgrades
- Limitations in validating Real-time and End of Day Batch outputs to complete the execution batches for end to end test scenarios
- Lack of proper test validations especially financial complex calculations.
- Inability to create Data, Simulate & Virtualize.
Essentially, with such automation frameworks, the functional testers and business users ended up spending a lot of time and effort validating the transaction lifecycle in a manual way.
So, the banking industry has had to bite the bullet, accept its uniqueness and make its test automation specific to its needs. The choice of automation tool has to be something that is tailored to cater to the Banking industry.
Few key points to keep in mind while picking the test automation tool for Banking should be:
- The tool should be ready-to-use without any framework build effort. If possible, it should have pre-configured components for Banking.
- It should achieve automation to the tune of 70 to 80% of the end to end transaction lifecycle.
- It should not only have UI testing capabilities but also ready-to-use components to test back-end applications including service calls, Service virtualization, File Validation, Batch Completion, Database interaction and ability to perform complex Calculator without heavy scripting or customizations. The UI test automation capability should span across Web, desktop, Mainframes or AS/400.
- The tool should have high reusability and easy one-click maintainability.
- And finally, automation should not be restricted to system integration or system testing but should be available to business users to validate the end to end scenario as part of User Acceptance Tests (UAT)
It’s well-known fact that manual testing cannot address the needs of a modern world of Banking Industry. Saying so, it should not become a forced choice just because the generic automation choices are failing to be smart and agile. The key lies in choosing the new age automation tool that is made for the industry and that caters to its ever-growing need for digitization, complex calculations, and lengthy transactions.
Given the time pressure banking industry is in, and a heavy dependency on Manual user acceptance testing before a change goes live, its time automation tools can seamlessly help business users run automated user acceptance tests too thus reducing time to market and improving the quality of the application in production.
It is time for specialization and generic tools have to make way to specialized ones that can be easily adapted by the banking industry.