Testing Simplicity Saves Bank’s Complex Move to SOA
The banking client shifted over to SOA in order to provide the same software services across mobile apps, web apps and ATM’s. This required a corresponding change in testing strategy and policy in order to align long-term development and testing life cycle. Qualitest helped them meet SOA compliance from the testing side, and improve the testing process in the new domain.
The client is a bank with over 600 ATM’s, 250 bank branches, 10,000 employees, and $100B in assets.
Business Needs and Objectives
The client’s IT division had shifted over to SOA in order to provide the same software services on various channels of the bank (mobile apps, web apps, ATM’s, etc.). This move to the SOA approach is based upon the following advantages: maintainability, improved information flow, organizational flexibility, lower software development and management costs, the ability to expose the same internal functionality.
The strategic shift to SOA in the client’s SDLC required a corresponding change in its testing strategy and policy in order to align long-term development and testing life cycle, and that’s where outside help was needed: meeting SOA compliance from the testing side, and improving the testing process in the new domain.
The Qualitest Solution
- The first innovative approach was based on manual testing where test cases are being developed once for the Service side and being run while testing each channel without re-writing since the business logic is identical, saving test planning time. Finding test data for test cases is a huge challenge in banks because creating test data is impossible. Therefore, every test case starts with a query retrieving data from a database to find the relevant test data, activating the service and then viewing the service response and/or validating the result against the database.
- The next innovation had been demonstrated and implemented by automating each manual test case. Automation starts with executing the relevant dynamic query as part of the query backlog, followed by service activation and validating service response as a constant data or executing query to the database, in case results are dynamic data. Automation can drastically reduce test execution time.
- Every test case is being written once and can be executed on many instances on the channel side since it relates to the same time-saving business logic: Write Once, Run Many
- Future steps – Once a defect is being tracked in the channel, it will be automatically executed in the service side in order to isolate whether the defect initiated in the service level of a specific channel level, or occurs across all channels.
- Finally, the scripting approach was developed KDT (Keyword Driven Testing) style, simplifying the effort and programming knowledge needed to develop and maintain scripts for every tester allocated for this task.
- So far, 16,000 test cases have been developed
- This method saved time and money in the fault isolations effort
- Optimizing time and quality during regressions
- Improve communication between R&D, domain issue users and testing
- Improve time to market and response factor by the business side
- Full satisfaction from the client side
- The client’s self-issued compliance deadline was met