{"id":243,"date":"2019-11-18T03:53:42","date_gmt":"2019-11-17T22:23:42","guid":{"rendered":"https:\/\/cigniti.com\/blog\/?p=243"},"modified":"2022-07-28T20:20:15","modified_gmt":"2022-07-28T14:50:15","slug":"testing-online-banking-applications-hypothesis","status":"publish","type":"post","link":"https:\/\/www.cigniti.com\/blog\/testing-online-banking-applications-hypothesis\/","title":{"rendered":"Testing online Banking applications: A hypothesis"},"content":{"rendered":"
Icebergs can be deceptive when looked at! They encompass a huge mass below the sea level which is around 90% of its actual size, leaving only 10% for the naked eye.<\/span>\u00a0<\/span><\/p>\n How is that related to banking? To answer this question<\/span>,<\/span>\u00a0let\u2019s look at an example<\/span>:<\/span>\u00a0<\/span><\/p>\n W<\/span>hen a customer performs an action on\u00a0<\/span>an<\/span>\u00a0online banking application<\/span>,<\/span>\u00a0the information generated travels back and forth through numerous complex systems\u00a0<\/span>to ensure<\/span>\u00a0data integrity, security<\/span>,<\/span>\u00a0and swift transaction completion time. If th<\/span>is<\/span>\u00a0was not enough<\/span>,<\/span>\u00a0the systems also need to ensure that they are up-to-date with regulatory compliance governed by banking bodies<\/span>\u00a0and\u00a0<\/span>Federal Laws. For the end user<\/span>, all they do is make a click. B<\/span>ut, in reality<\/span>,<\/span>\u00a0it<\/span>\u00a0i<\/span>s a deep dive!<\/span>\u00a0<\/span><\/p>\n Even a simple flow may involve many checks<\/span><\/b>\u00a0<\/span><\/p>\n <\/p>\n Drilling through the Iceberg<\/span><\/b>\u00a0<\/span><\/p>\n Banking systems are an intertwined ball of interfaces which crossfire (<\/span>and possibly<\/span><\/i>\u00a0<\/span><\/i>m<\/span><\/i>isfire<\/span><\/i>) in all directions. We are talking about real<\/span>–<\/span>time interfaces which require multiple requests and responses within seconds to ensure<\/span>\u00a0total<\/span>\u00a0sync.\u00a0<\/span>It is similar to the<\/span>\u00a0voluminous traffic conditions which go hay-wired at multiple\u00a0<\/span>road\u00a0<\/span>intersections\u00a0<\/span>while<\/span>\u00a0you try to\u00a0<\/span>make your way<\/span>\u00a0out. With such a huge data flow<\/span>, it gets challenging to<\/span>\u00a0maint<\/span>ain<\/span>\u00a0optimum performance with effective and realistic response times. When\u00a0<\/span>these systems grow enormous and when we expect them to function with a certain degree of accuracy, Software Testing<\/span>\u00a0becomes an important determinant<\/span>. There may be different school of thoughts on \u201cHow to test?\u201d but Testing certainly plays a key role in optimizing the symphonic sync between systems. Studies have shown that fixing banking defects in production have cost a lot of money<\/span>,<\/span>\u00a0time<\/span>,<\/span>\u00a0and effort<\/span>,<\/span>\u00a0which not only leads to errors in data integrity but also traumatizing embarrassment. Banking systems span across sub-domains such as\u202f<\/span>Investment Banking, Retail Banking<\/span>,<\/span>\u202f<\/span>and<\/span>\u202fCommercial Banking<\/span>.\u202f<\/span><\/i>Each sub<\/span>–<\/span>banking system has its own set of testing needs\u00a0<\/span>that<\/span>\u00a0<\/span>has<\/span>\u00a0to be addressed for the desired outcome.<\/span>\u00a0<\/span><\/p>\n The Speed Breakers<\/span><\/b>\u00a0<\/span><\/p>\n Data Volume<\/span><\/b>:\u00a0<\/span><\/b>Banking systems indiscriminately rely on huge\u00a0<\/span>volumes<\/span>\u00a0of data<\/span>. E<\/span>ven a small operation generates a lot of\u00a0<\/span>information.<\/span>\u00a0For instance, a simple event such as Log-in to the system may capture Log-in Date, Log-in Time, Location of the<\/span>\u00a0<\/span>User,<\/span>\u00a0and<\/span>\u00a0Audit Trail<\/span>\u00a0–\u00a0<\/span>a<\/span><\/i>ll this when the user did<\/span><\/i>\u00a0no<\/span><\/i>t even perform any real action<\/span><\/i>. Within complicated systems data may eventually be stored in the application databases or cloud<\/span>–<\/span>based database<\/span>s,<\/span>\u00a0thousands of miles away. Data storage and retrieval pose a\u00a0<\/span>severe<\/span>\u00a0challenge<\/span>\u00a0for banking organizations.<\/span>\u00a0<\/span><\/p>\n Approach towards handling large Data Volume Tests<\/span><\/b>:<\/span><\/b>\u00a0The approach from the test management perspective<\/span>\u00a0recommends<\/span>\u00a0creat<\/span>ion of<\/span>\u00a0distinct data sets per interface,\u00a0<\/span>i<\/span>ron<\/span>ing<\/span>\u00a0out key areas of impact for a particular feature across interfaces<\/span>,<\/span>\u00a0and plan<\/span>ning<\/span>\u00a0tests accordingly.\u00a0<\/span>\u00a0<\/span><\/p>\n Different banking projects have different test data needs. For instance<\/span>,<\/span>\u00a0a retail banking project may require lots of test data related to user accounts,\u00a0<\/span>funds transfe<\/span>r and\u00a0<\/span>mobile deposits<\/span>. An investment banking projects may need test data related to\u00a0<\/span>derivatives<\/span>, bonds, stocks<\/span>,<\/span>\u00a0etc. These factors need to be carefully\u00a0analysed\u00a0and test data sets should be created accordingly (per environment). Any updates to these should be versioned\/tracked.<\/span>\u00a0<\/span><\/p>\n