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
Domain is nothing but the industry for which the software testing project is created. When we talk about software project or development, this term is often referred. For example, Insurance domain, Banking domain, Retail Domain, Telecom Domain, etc.
Usually, while developing any specific domain project, domain expert help is sought out. Domain expert are master of the subject, and he may know the inside-out of the product or application.
Domain knowledge is quintessential for testing any software product, and it has its own benefits like
Banking domain concepts are huge, and basically it is sub-characterized into two sectors
- Traditional banking sector
- Service based banking sector
Below is the table of the services these two sub-sectors of banking encompass
|Traditional banking sector|
|Service based banking sector|
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.
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
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.
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|
|For Admin|| |
|For new Branch|| |
|For New Role|| |
|For customer & Visitors|| |
|For New users|| |
Challenges tester might face during testing banking domain are
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
Join our Live Banking Domain Testing Project