Banking application packages are probably the most complex software suites which demand high security, faster transactions per second, massive database storage system, and highly efficient multitasking to support thousands of concurrent users.
Banking applications have multiple levels involved in performing an operation. For example, a banking application may have:
- Server to interact with end users.
- Middle layer to validate the input and output for the server.
- Database to store huge amount of data.
- Processor that can carry out huge number of transactions per second.
Testing of banking applications involves:
- Overall banking activities and business requirements.
- Functional aspects of the application.
- Testing Security Issues.
- Testing Concurrency.
Stages of testing banking applications are :
- Requirement Gathering
- Requirement Review
- Business Requirements Documentation
- Functional Testing
- Database Testing
- Security Testing
- User Acceptance Testing
1) Requirement Gathering:
Requirements which are to be met by the particular application are gathered and documented in this stage. This is done by a Business Analyst.
2) Requirement Review:
The requirement gathering document is reviewed at this stage. Quality Analysts, Development Leads and Business Analysts are involved, in which they cross check that it does not affect the workflow.
3) Business Requirements Documentation:
Business requirements Documents are documents prepared by Quality Analysts, in which all business requirements are covered. Further it is reviewed by Business Analysts.
4) Functional Testing:
The usual software testing activities are performed here :
- Test Case Preparation:
- Test Case Review:
- Test Case Execution:
The Test Cases are derived from the Requirements Document, and include positive test cases and negative test cases. Generally the tool used during this stage is spread sheet.
This is done by test Engineers.
Test Cases are executed either manually or using automated testing tools.
5) Database Testing:
In database testing, a tester checks whether the data entered in the frontend is correctly displayed in the backend. Database testing is an important part of the testing phase, in banking applications.
6) Security Testing:
Security Testing makes sure that the software does not have any security vulnerabilities.
7) User Acceptance Testing:
This is the final stage of testing before the rolling out of the application. This testing is usually done by the end users to ensure the compliance of the application with the real world scenario. After successfully tested by the users, the application will be accepted by them.