Process of Performance Testing a Banking Application

Size: px
Start display at page:

Download "Process of Performance Testing a Banking Application"

Transcription

1 Process of Performance Testing a Banking Application The Need One of the largest banks in India offers Online and Mobile Banking application to its customers. Several online services are hassle-free services and thus minimizing the need to visit bank. The core banking application provides awesome banking features which an enduser cannot think of. They saw a sudden growth in their customer base, which made them think checking and upgrading their IT Infrastructure to support the costume base. The clients and their back-end operators connect to core banking application from across the country. But the bank was not sure on how to conduct the performance test. The following sections will describe the process followed to arrive at the load testing strategy for the core banking application. Understanding the client s problem The client was actually not sure of what to be tested and how to actually get started. In order to help the customer started, a three step modus operandi was followed. The three steps are as follows. 1) Questionnaire 2) Delphi Method for better understanding 3) Performance Scenario Matrix Questionnaire Input: A set of questions were sent to the customers to understand their architecture, work load profiles, user distribution and other parameters. Following is the sample list of questions. This is a limited set; the actual ones are much more. Is the application functionality stable and is the functional testing completed? What is the type of application? E.g. Client Server, Web Based, Mobile App What does the target system (hardware) look like (Please specify all servers and network appliances configurations and their interaction mechanism)? Do you have traffic monitoring tool deployed on web server? E.g. Google Analytics, Appedo, New Relic What is the protocol between client and server? E.g. http, https, TCP, FTP, SMPT, SOAP, REST Have you identified the performance scenarios of your system? Do you have statistics, how many users visit your site in 24 hours? What is the average user session time on your system? How many transactions does the end user do per day in the application? On peak load time, roughly how many users are accessing the system? What is the database and its version? What is the programming language used to develop the application? What is the app server and its version? What is the connectivity of your rural and urban branches to central server? How many branches use CBS?

2 How many ATMs are connected? List out the number of transactions for the last year new accounts opened, number of withdrawals, number of deposits, number of loan applications, number of ATM transactions? What is your business volume projection for next 3 years? What are the peak hours in a regular business day? What are the peak hours in festival seasons? Output: Based on the responses to the questionnaires, we were able to get clarity on the following parameters. Maximum users to be considered for testing. Max 2000 users Monitors to be used. Linux OS, JBoss App Server, Oracle DB servers. Tool to be used. Appedo LT for Scripting User distribution. As shown in performance Scenario Matrix Number of Servers to be Monitored 10 in All Monitoring Location Inside the DRC Delphi Method for better understanding In this stage, we meet the application stake holders to conduct surveys and basically collect the information from participants who are experts. This is done to ensure, that performance testing requirements are captured properly. For example, one of the mangers came with a specific requirement to test other bank ATM transactions as well. Following are some of the information that are gathered during this method. 1) The normal think time (how many seconds a data entry operator will wait to fill a form) 2) The peak hour traffic information (number of hits, hits pattern distribution) 3) The remote location to be considered for testing (the bank had braches where there was very limited internet connectivity) 4) The traffic pattern. Many of the application processing happened during the last 5 days of the month. 5) How many clerks use the application, how many managers use, how many loan data entry operators use etc. 6) What kind of problems do you face when accessing the application during peak times? The above information cannot be gathered, unless we go and brain storm with the client. The Delphi method was very useful for us. Also, many things will open up when you meet and talk with end users and managers. There had been many incidents where the bank management was not aware of some problem situations that came out during our meet with customer. Performance Scenario Matrix With the help of above two stages, the following scenario matrix was arrived. This will be the driving matrix for conducting the performance tests.

3 Scenario Number of Users On Cloud WAN Remote Testing Customer Search 50 N Y Y Transaction Enquiry 250 N Y Y View Account Details 200 Y Y N View Deposit 50 Y Y N Generate Mini Statement 200 Y N N Cash Deposit 200 N Y Y Cash Withdrawal 200 N Y Y Transfer through RTGS 200 Y Y N Opening of Deposit 50 Y N N ATM - Cash Withdrawal 100 N Y Y ATM - Mini Statement 100 N Y Y Transfer through NEFT 200 Y Y N Generate Account Statement 200 Y N N The overall Perform testing Process. Once the client s problems were understood, we prepared a detailed performance test plan. The performance test plan was prepared based on the following test strategy.

4

5 Challenges during the Load Test: Performance testing baking applications is always a challenge. The challenges are attributed to several compliance requirements, variety of users, i.e, various browsers, devices, locations, wide range of internet speed to name a few. Following are list of the most common challenges faced while load testing banking applications. Following are the challenges faced during the load test. 1) Configuring the monitors of the Data Centre 2) Load Testing Data 3) White listing the Load Generators IP address for handling DoS 4) Load Testing ATMS 5) Transaction Monitoring 6) Testing Teller operation from Actual Branches Banking applications are accessed by several concurrent users most of the time, performing different types of transactions. So the load, stress and performance testing should be done in such a way that ensures that all the tasks are running smoothly which includes normal transactions, online- transactions, ATM transactions and teller operations. Planning is key for load testing banking applications. When designing and planning tests with the intention of characterizing production performance, major challenge is to create real-world simulations in order to provide reliable data that will enable organizations to make informed business decisions. Real-world test designs will significantly increase the relevancy and usefulness of results data. Deploy with confidence and scale. When your application is functionally ready, it is time to carry out performance testing. Appedo experts will help you to arrive at a clear plan to assure performance of your apps and servers. Our performance experts will discuss with you to understand the application needs, deployment environment, expected user load, expected and projected data volume, peak usage patterns etc. A Performance Assurance Plan will be provided to your QA and IT teams with clear action items for all stakeholders. A set of endto-end performance service checklist will be provided as part of project management, along with test schedule. Provide link to performance test plan.