Presentation on theme: "QA practitioners viewpoint"— Presentation transcript:
1 QA practitioners viewpoint Top 7 performance bottlenecks in Payments and Treasury Banking Applications:QA practitioners viewpointSeetha GurunathanInfosys Limited (NASDAQ: INFY)
2 AbstractComplex banking applications involve large multi-layered architecture and multiple servers. The data handled by the banking application is also extremely huge with zero scope for error. Increasing focus on internet banking has resulted in the need for extremely stringent performance testing of these applications. Though it is complex, most of the systems have a set of common performance bottlenecks, if addressed, will lead to great improvement in performance. Various complex activities like payments management, receipts, treasury, payments initiation and trade services have to be performed in real time through the internet setting the benchmark for zero performance issues.Often, the most neglected part of performance testing is taking into consideration the diverse nature of a multi-layered architecture across multiple interface points. Complex business logic for most commonly occurring activities like payments processing also demand performance and accuracy. Database performance testing as a result, is of prime importance and focus on transactions rich in interface points would result in more accurate performance testing results.
3 Abstract (cont..)When we are working on payments systems, another factor to consider would be the transaction completion. We often see the break point of performance occurring in failover scenarios. Such testing stresses the importance of proper load balancing across servers.Since we are looking at availability of treasury and payment services throughout the financial year, across large volumes and multiple players, endurance testing for adequate lengths of time, with focus on interfaces with government data like bank ids will address other critical bottlenecks.Prior knowledge of where we have to look for bottlenecks along with a set of best practices ensures success in performance testing of complex applications in treasury and payments domain.
4 Target Audience Performance Test Managers and Leads To help them understand the complexities of performance testing large banking applications for large user volumesTo guide the team in identifying critical performance bottlenecks to reduce test effortTo come up with more efficient test strategies for performance testingPerformance Test Leads/EngineersTo identify the right bottlenecks when testing large banking applicationsTo understand the domain complexities while executing performance testsTo appreciate the similarity between the different complex banking applications and how performance testing can be somewhat standardized in terms of defect identification
5 What we will cover today Complexity of Banking Services and criticality of performance testingPerformance Testing – What and how?Top 7 bottlenecksPerformance TuningBest practicesConclusionAppendices
6 Top 7 bottlenecks and what to do with them (pop the cork!) Objectives of the sessionUser expectationsExpectation from Audience
7 Ensure a high performance banking application! ObjectiveAfter popping the cork -Identify critical bottlenecksApply domain flavor and stir things upDo a bit of performance tuningEnsure a high performance banking application!
8 Complexity of Banking Services and criticality of performance testing Why is a banking system so complex?Should I care about the performance?
9 Why is a banking application so complex? Volume of data handledSensitivity of dataCriticality of transactionsZero tolerance for errorRepeated transactions of same kind24/7 availability of all systemsLarge batch processes at pre-defined times
10 Solution – Performance Testing Analyze test results and identify performance issues, bottlenecksArrive at recommendations at various levels like application changes, DB changes, configuration or architectural changesReport results and identified tuning recommendationsEscalate issues to client management for those requiring 3rd party intervention
11 The top 7 – Finally!!Huge front end pages, rich in images and other contentConnection pool issues, not able to service requestsLoad balancer not set up correctly, resulting in skewed performanceServers not configured correctly, Firewalls not setup correctlyQueries not optimized, resulting in lots of waits and increase in execution timeDeadlocks, resulting in requests not getting completed.Inefficient stored procedures
12 Some examples where we fixed it! Firewall setting to be updated during server movefrom Chicago to CharlotteBank id related transactions were failing – code fixedLoad balancing issues – web server configuration fixedOracle patch release leading to performance issuesDB memory leak – fixed by moving Preparedstatement to SQL Execute Query
13 Now, what do I do with all the bottlenecks? Performance TuningBest Practices
14 Performance Tuning Front end page sizes are reduced Code enhancements done to eliminate hanging threadsServer settings updated to handle multiple connectionsQueries and database stored procedures tunedIndexes leveraged for search operations
15 Best Practices Adequate knowledge of the banking application to be tested should be gatheredAdequate monitoring tools should be set upAppropriate dashboards should be constructedLoad, Stress, Volume and Endurance testing should be executed for critical transactionsFailover testing should be executed for each release to ensure server performance
16 Best Practices – there are more! Common bottleneck areas should be targeted first for analysis and performance engineeringNew standard processes/guidelines/checklists to manage requests related to Recurring Business / ApplicationProven processes and methodologies should be deployed to manage new service engagement customer needs
17 End of the story – Last but not the least ConclusionQuestions and Answers
18 What we learnt today All banks rely on similar workflow transactions The bottlenecks follow a similar pattern
19 YAY!Performance testing can be interesting and simple