We ensure application meets the user acceptance criteria and is ready for production
Importance of user acceptance testing (UAT) enhances multifold while testing critical banking applications like switch, issuer and acquirer cards management systems, POS and ATM device implementation, etc. Crucial for the successful launch or maintenance of any banking system, UAT ensures that these applications are performing as expected. UAT is utmost important part of testing phase as the system is being tested from actual end users’ perspective, by the users themselves or on-behalf of them. Successful UAT completion denotes that the system is working as expected, mapping to expected functionality from end users’ behavior perspective.
UAT checks the base functionality of the application that might include cards management, lending, or originations systems of BFSI domain. The objective of this phase of testing is to validate the use cases of the application before releasing it. Rigorous testing is conducted on the application, preventing unexpected discovery of defects post-release, which often proves to be quite disruptive and expensive. Banks are generally stretched with their own operations and it suits them best to get external experts to do UAT testing for them for core banking applications.
System enhancements and customizations are done to make it fit to the exact requirements of banks. Regardless of the purpose of a particular piece of customization, the objective is to ensure it is functioning in an impeccable manner. Customizations are thoroughly tested using the same test scripts that were created when the relevant fragments of code were modified. The product enhancements could be about core features, integrations, platform porting, or anything else.
Even an exemplary piece of software with rich functionality will carry no value if it falls below user expectations. Here are some typical challenges that are faced during UAT:
Requirements often arrive in unexpectedly, though some of these might be quite genuine, such as mandate by the central bank regarding a deadline. This results in unexpected CRs and timeline changes, disrupting the process.
Discovering and resolving defects in the early stages of software development is always better. Frequent defect fixing at later stages forces additional round of testing, often leading to missed delivery timelines.
Multiple in-house changes or fixes makes it hard to trace software artifacts to functionality, making the testers’ job difficult. In such cases, the mapping connecting code to functionality disappears, making UAT a hard nut to crack for testers.
Project design begins with an assumption how an application should behave and look like. Our approach to UAT deals with how close or not it is to real use cases. A dedicated test environment with connectivity to all required interfaces is provided for UAT.
User Acceptance Testing covers a broad set of requirements comprising of the core system as well as the ecosystem defined in scope. Devising a strategy requires analysis of key requirements and definition of key deliverables. System access is provided for offshore and onshore user IDs and super ID with proper module and function access in the test region.
We give banks a walk-through of the test case repository that includes all pre-determined functional areas along with the key features of the application undergoing test. On Agile, we lock in application requirements and corresponding test scenarios within each sprint, thus simplifying a complex job. Availability of the regions is 24×7 and downtime is discussed.
Custom test cases configured for enhancements, CRs and internal development done around core system add value to the process. We prepare requirement traceability matrix ensuring our custom test cases cover every single enhancement and CR. Consolidated UAT test plan includes specifically created custom test cases for such patches of code.
Failure in covering the fixes for the recent product fixes for the latest releases when creating test cases often becomes the reason of poor product performance. We make it a point to check the stability of the fix ensuring the product delivers precisely to users’ specifications. Run plan covers the recent product bug fixes and shared with bank and product development support teams daily.
A thorough execution of the test and comparison of the expected and actual results helps figure out the efficacy of the software. We also ensure a thorough discussion with all stakeholders, ensuring a positive nod by all the parties involved. A walkthrough is conducted with the bank team that includes representatives from IT, Business and Operations teams.
Our defect management process is comprised of six steps – Discovery, Categorization, Resolution, Verification, Closure, Reporting. Defined APIs are tested via agreed tool or middleware. Inputs are provided for everyday EOD batches to generate test data for different test scenarios. Efficient test managers ensure the timely tracking and closure of all defects that emerged during the UAT process.
Verinite follows ADEPT, which is a flexible approach of testing compatible with traditional and agile methodology. ADEPT philosophy supports open architecture, minimized development cycle rework, and rapid re-configurability throughout the framework. It provides real-time model execution and control, data access to simulation and IO variables, runtime tabular display of data being captured, and many more features.