Tag Archives: Testing

Overcoming the Challenges Faced While Testing a Banking Application

In my previous article “Is Testing Banking Application a Nightmare – Know Why?” I described the challenges testers face while testing a banking application which makes it his nightmare. This article would be dedicated in finding out various strategic approaches to overcome those challenges mentioned earlier.

Approaches to Overcome the Challenges:

1. Monitor regression testing throughout the application lifecycle: Regression testing is crucial to monitor throughout the app lifecycle so that the test suite is administered and sustained across releases, set under version control, and linked to requirements. Test cases that would be used in test environment should be precise enough to set the expectation regarding test data. The following approaches can used to achieve cost effectiveness:
• Risk based testing
• Test Automation
• Off-shoring or outsourcing to third party testing vendors
 
Ideally, the organization should always think about risk based testing before automating test cases outsourcing the test activities. The goal should be to reduce the number of tests to be executed for every release cycle thus keeping the risk in threshold range.
 
Defect rate per executed test during regression testing is always high in case of new functionality. Apart from this, majority of defects found by regression testing are due to integration issues which is the result of changes made in one component that is being used in another component. Hence, regression test needs to cover higher level integration test.
 
Test automation is an effective way of reducing cost of regression testing. The main reason behind this is that the automated test suites can be run multiple times during every release cycle without too much maintenance effort. 
 
Off-shoring testing activities to countries with lower labor costs is another way that should be combined with risk based approach and test automation. 
 
2. Ensure test data usage meets regulatory compliances requirements and guidelines: In order to maintain data confidentiality, we can use following two ways: 
 
• Data Masking: This method can be used to alter the data testers copy from production server in a way that it no more contains any sensitive information and can be used for testing purposes directly. The main benefit of this approach is that it gives a good coverage regarding diversity and volume of data and the option to reproduce production scenarios. However, for regression testing, data masking is not considered as a very effective option as the underlying production data can change over time and lead to different results. Hence, this method always incurs an overhead of verifying the test data.
 
• Synthetic test data: Synthetic test data is considered as an excellent approach to generate test data under the aspects of compliance, sustainability and integrity. However, there is always some gap regarding coverage as it not feasible to synthetically produce all kinds of data with all the systems. In scenarios where integrity across the systems is not necessary, synthetic data coverage can be much better.
 
3. Testing system integration and integrity of test data: To make sure that testing covers the integration of different systems and integrity of test data, one needs to test it in the test environment which is similar to production environment. Setting up such a test environment is a real challenge. Using pre-production environment with production data is the most feasible alternative one can think of. But this method involves high risk of losing on confidentiality of data as lot of resources will be using the production data while performing such test. Hence, to fulfill the demand, a dedicated system integration test environment needs to have:
 
• System Coverage 
• Operational Coverage 
• Data Coverage & Integrity
• Environment Management
 
Implementing these steps would definitely help overcome the challenges faced while testing a banking application. However, it is important to understand that sometimes the outcome of one challenge may result in complications of other challenges. Further, the more complicated system landscape is, regression testing becomes more important.

AppLabs, a CSC company is the world’s largest Software Testing Quality Management Company. Our Quality Management and Testing Services utilize its many years of banking and finance experience across the globe to support clients who view technology as a business enabler and see the importance of getting implementation right first time.

Is Testing Banking Application a Nightmare ? Know Why?

Information technology has completely changed the way banks use to operate until last decade. The criticality of banking IT systems lies in their sheer size, vast number of transactions they facilitate every minute, and wide range of their portfolio offerings. With their expansion plan mounting day by day, need to integrate the IT systems in various branches with main IT stream is becoming more challenging and complex.

 
Testing & re-testing becomes inescapable in case of banking applications as even a minute error can result in loss of repeat business, revenues and permanent damage to organization’s reputation. Further, a small mistake can put the banking & financial institution through severe legal scrutiny.
The characteristics that make any banking application a nightmare for testers are as follows:
 
1) Recurrently changing regulatory & market requirements: Increasing competition in the market via various banking products and services heaves new functional requirements for banking applications in an ongoing manner. In addition, the regulatory firms keep adding new standards which are mandatory from legal and requirement perspective, and have to be fulfilled by every banking application. As a result of this, the business application has to go through frequent releases and upgrades throughout the year and needs to be tested multiple times. Whether a bank is using customized software or a standard product, the frequently changing regulatory and market requirements affects both.
 
Test execution for every single release generally includes major portion for regression testing. It is something which is not very exciting among the testers including business users. Running these tests multiple times also increases the cost of the application.
 
2) Maintaining data confidentiality & test data requirements: Testers are more likely to use the data copied from production systems as a test data. However, recent bank secrecy laws and standards in various countries does not allow anyone to use the test data as it is from live servers so as to protect the confidentiality of the data. Banking industry, being a service provider to almost every organization in some or the other way, needs to build trust more than any other industry in order to gain its customer confidence.
 
Employing internal or external IT developers and testers use the production data for testing purposes increase the probability of legal breaches & reputational damages. The data confidentiality requirements mount with the stringency of the country specific laws and with the international distribution of business and IT.
 
3) Complex legacy & application systems: Banking applications are often too complex to understand. The know-how about each and every system involved in it functionality is scattered within and outside the organization. The dependency and integrity of one application with other further leads to complications which imply the risk of being overseen when new releases are developed. It only gets worse when legacy systems are involved having a lower level of documentation and cluttered data design. In addition, such applications root interfaces to external apps for market data and for settlement of transactions in the trading and payment area.
 
As an outcome, the data that is being used in app under test actually originates from another app that is far up the stream. This makes it difficult for testers to produce test data which suites and fulfills all the cross application data constraints.
 
Offering a risk-free transaction is the ultimate motto of every bank. But in order to achieve this objective, the applications should be put under scrutiny which demands a focused and strategic approach from testers. We will soon discuss the approaches to overcome the above mentioned challenges in the next article.

AppLabs, a CSC company is the world’s largest Software Testing Quality Management Company. Our quality management and testing services utilize its many years of banking and finance experience across the globe to support clients who view technology as a business enabler and help them deliver enhanced business value with optimized benefits. Our testing solutions for Banking and Payment Processing applications centers on helping our customers focus on most important paradigms in modern day banking – customer acquisition and retention, risk management and regulatory governance / compliance and payments.