Thursday 26 January 2012

Overcoming the Challenges Faced While Testing a Banking Application

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.
Ads by Google

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.

No comments:

Post a Comment