Banking Domain Application Testing: Sample
Test Cases
Banking Domain Testing
Banking Domain Testing is a software testing process of a banking application for
functionality, performance, and security. The main purpose of testing banking
application is to ensure that all the activities and functionalities of a banking
software run smoothly with no errors and it remains protected.
The BFSI (Banking, Financial services and Insurance) sector is the biggest
consumer of IT services. Banking Applications directly deal with confidential
financial data. It is mandatory that all the activities performed by banking software
run smoothly and without any error. Banking software perform various functions
like transferring and depositing fund, balance inquiry, transaction history,
withdrawal and so on. Testing banking application assures that these activities are
not only executed well but also remain protected from hackers.
In this tutorial, we will learn
What is Domain in Testing?
Why Domain Knowledge Matters?
Introduction to Banking Domain
Characteristics of a banking application
Stages of testing banking applications
Sample Test Case for Net Banking Login Application
Challenges in testing banking domain & their Mitigation
What is Domain in Testing?
Domain in Testing is nothing but the industry for which the software testing
project is created. When we talk about software projects or development, this term
is often referred to. For example, Insurance domain, Banking domain, Retail
Domain, Telecom Domain, etc.
Why Domain Knowledge Matters?
Domain knowledge is quintessential for testing any software product, and it has its
own benefits like
Banking Domain Knowledge – Introduction
Banking domain concepts are huge, and basically it is sub-characterized into two
sectors
1. Traditional banking sector
2. Service based banking sector
Below is the table of the services these two sub-sectors of banking encompass
Core banking
Corporate banking
Traditional banking sector
Retail banking
Service based banking sector Core
Corporate
Retail
Loan
Trade finance
Private banking
Consumer finance
Islamic banking
Customer delivery channels/Front end delivery
Based on the scope of your project you may need to test one or all of the above
service offerings. Before you begin testing, ensure you have enough background on
the service being tested.
Characteristics of a Banking Application
Before you begin testing, it’s important to note the standard features expected of
any banking application. So that, you can gear your test efforts to achieve these
characteristics.
A standard banking application should meet all these characteristics as mentioned
below.
It should support thousands of concurrent user sessions
A banking application should integrate with other numerous applications
like trading accounts, Bill pay utility, credit cards, etc.
It should process fast and secure transactions
It should include massive storage system.
To troubleshoot customer issues, it should have high auditing capability
It should handle complex business workflows
Need to support users on multiple platforms (Mac, Linux, Unix, Windows)
It should support users from multiple locations
It should support multi-lingual users
It should support users on various payment systems (VISA, AMEX,
MasterCard)
It should support multiple service sectors (Loans, Retail banking etc.)
Foolproof disaster management mechanism
Test Phases in Testing Banking Applications
For testing banking applications, different stages of testing include
Requirement Analysis: It is done by business analyst; requirements for a
particular banking application are gathered and documented
Requirement Review: Quality analysts, business analysts, and development
leads are involved in this task. The requirement gathering document is
reviewed at this stage, and cross-checked to ensure that it does not affect
the workflow
Business Requirements Documentation: Business requirements
documents are prepared by quality analysts in which all reviewed business
requirements are covered
Database Testing: It is the most important part of bank application testing.
This testing is done to ensure data integrity, data loading, data migration,
stored procedures, and functions validation, rules testing, etc.
Integration Testing: Under Integration Testing all components that are
developed are integrated and validated
Functional Testing: The usual software testing activities like Test
Case preparation, test case review and test case execution is done during
this phase
Security Testing: It ensures that the software does not have any security
flaws. During test preparation, QA team needs to include both negative as
well as positive test scenarios so as to break into the system and report it
before any unauthorized individual access it. While to prevent from hacking,
the bank should also implement a multi-layer of access validation like a one-
time password. For Security Testing, automation tools like IBM AppScan and
HPWebInspect are used while for Manual Testing tools like Proxy Sniffer,
Paros proxy, HTTP watch, etc. are used
Usability Testing: It ensures that differently able people should be able to
use the system as normal user. For example, ATM with hearing and Braille
facility for disabled
User Acceptance Testing: It is the final stage of testing done by the end
users to ensure the compliance of the application with the real world
scenario.
Sample Test Case for Net Banking Login Application
Security is prime for any banking application. Therefore, during test preparation,
QA team should include both negative and positive test scenarios in order to sneak
into the system and report for any vulnerabilities before any unauthorized
individual get access to it. It not only involves writing negative test cases but may
also include destructive testing.
Following are generic test cases to check any banking application
Sample test cases
Verify Admin login with valid and Invalid data
Verify admin login without data
Verify all admin home links
Verify admin change password with valid and invalid data
For Admin
Verify admin change password without data
Verify admin change password with existing data
Verify admin logout
Create a new branch with valid and invalid data
Create a new branch without data
Create a new branch with existing branch data
Verify reset and cancel option
Update branch with valid and invalid data
For new Branch Update branch without data
Update branch with existing branch data
Verify cancel option
Verify branch deletion with and without dependencies
Verify branch search option
Create a new role with valid and invalid data
Create a new role without data
Verify new role with existing data
verify role description and role types
For New Role
Verify cancel and reset option
Verify role deletion with and without dependency
verify links in role details page
Verify all visitor or customer links
Verify customers login with valid and invalid data
Verify customers login without data
For customer & Visitors
Verify banker’s login without data
Verify banker’s login with valid or invalid data
Create a new user with valid and invalid data
Create a new user without data
Create a new user with existing branch data
Verify cancel and reset option
For New users Update user with valid and invalid data
Update user with existing data
Verify cancel option
Verify deletion of the user
Challenges in testing Banking domain & their
Mitigation
Challenges tester might face during testing banking domain are
Challenge Mitigation
Ensure that test data meets
regulatory compliances
requirements and guidelines
Getting access to production data and replicating it as Maintain the data
test data, for testing is challenging confidentiality by following
techniques like data masking,
synthetic test data, testing
system integration, etc.
The biggest challenge in testing banking system is
Ensure Data Migration Testing
during the migration of the system from the old
is complete
system to the new system like testing of all the
Ensure Regression Test cases
routines, procedures and plans. Also how the data
are executed on old and new
will be fetched, uploaded and transferred to the new
systems, and the results match.
system after migration
There may be the cases where requirements are not
The test should participate in
documented well and may lead to functional gaps in
the project right from
test plan
Requirement Analysis phases
Many non-functional requirements are not fully
and should actively review the
documented, and testers do not know whether to test
Business Requirements
it or not
The most important point is to check whether the
Compliance or Regulatory
said system follows the desired policies and
Policies testing must be done
procedures
Ensure Time budget for
The scope and the timelines increases as banking Integration Testing is
application are integrated with other application like accounted if your banking
internet or Mobile banking application has many external
interfaces
Summary
Banking domain is the most vulnerable area for cyber-theft, and safeguarding the
software requires precise testing. This tutorial gives a clear idea of what it takes for
banking domain testing and how important it is. One must understand that –
Majority of banking software are developed on Mainframe and Unix
Testing helps to lessen possible glitches encounter during software
development
Proper testing and compliance to industry standards, save companies from
penalties
Good practices help develop good results, reputation and more business for
companies
Both manual and automated testing have respective merits and usability