Friday 4 January 2013

Banking Application Testing

Banking Application Testing


Banking applications are often considered as one of the most complex and large software systems in today’s development and testing practice. The question is “why?”. And what method should be accepted in order to provide their quality and successful testing. This post is going to tell you about the stages and methods of testing Banking applications.
As we were talking earlier, Banking apps are very complex ones, so they have a lot of different characteristics. The main ones we are going to observe here:
  • Multi level functionality that allows to support thousands or even millions of users
  • Large scale integration: usually banking applications are integrated with a number of other apps
  • A complexity of business workflows
  • Real time processing
  • High density of transactions
  • High level of transactions security
  • Strong reporting section to keep information about transactions saved
  • Strong auditing system for preventing customer problems
  • Massive data storage system
  • Disaster management
Talking about banking application testing we should consider that it takes a lot of time because it needs an end to end testing method that involves different software testing techniques. The common stages of the banking application testing are described below.
1. Requirement Gathering
This stage involves documentation of all requirements such as Functional Specifications and User Cases. These requirements are gathered as per customer necessary things. All of them are documented by Banking Experts and Business Analysts.
2. Requirement Review
The results of the previous stage are reviewed by all the members of the testing process: QA Engineers, Business Analysts and Development leads. Their purpose is to check that both existing and new workflows are not violated.
3. Preparing Of Business Scenarios
When all the requirements are documented and checked, QA Engineers use them to derive Business Scenarios. This has to be done in order to cover all the Business Requirements. These scenarios don’t include any detailed steps being high-level scenarios. Then they are reviewed by Business Analyst who checks if all the requirements are satisfied. It has to be noticed that it’s easier for Business Analyst to review high-level scenarios than low-level Testing Cases.
4. Functional Testing
The first thing to do is to derive Test Cases from Business Scenarios. One Business Scenario usually includes several positive and negative Test Cases. These cases are reviewed by QA Engineers and then all the cases are executed. The execution can be either manual or automated that involves such tools as QC, QTP and others.
5. Database Testing
One of the most important stages in Banking application testing is database testing. As database is a complicated and separated layer of the system, its testing should be done very carefully. The main aspects to be ensured in database testing are:
  • Data loading
  • Testing of data types and DB Schema
  • Rules testing
  • Database migration
  • Testing triggers
  • Testing storing and functions
  • Data integrity
6. Security Testing
This type of testing is usually the last step in Banking application testing. This is one of the most important stages in the application testing cycle as it ensures that application is secure about data loss and different kinds of attacks.
The whole application scan by security issues could be done using such tools as IBM Appscan and HP WebInspect. You can also use such manual tools as Http Watch, Paros Proxy and others.