Elabor8 helped a bancassurance customer to create a test automation framework built on AWS to automate functional and performance testing for a large program of work transforming their technology and business landscape to meet Open Banking standards and future proof their business.
Helping a customer to automate functional and performance testing for delivery efficiency
Elabor8ers love to help customers to create repeatable processes that are efficient and scalable with limited intervention. So, when we recently worked with a leading bancassurance client who had a large portfolio of banking and insurance products that was going through significant change, we wanted to help them create a scalable testing framework.
As part of some major business and technology transformations, they were undergoing, this customer had to migrate their own customers onto a new identity platform, implement Open Banking Consumer Data Right (CDR) and create an internal marketplace for banking and insurance products being sold to customers as part of their banking mobile app.
Why we saw automating of tests as an absolute must
All these changes happening in parallel were introducing so much volatility to the systems changes this client’s IT team was looking to manage. They had to run collections of tests continuously several times throughout the day to make sure the development teams were not wasting their time working on environments that were unstable.
The customer had testing teams running these tests manually, and every time they wanted to increase the scope of testing, they added additional tests to the test suite and added more testers to run these test suits manually. They were constantly on the lookout for additional testers and soon it was getting challenging to find new testers.
Once we realised this model was not sustainable, we decided we had to find an alternative way to test. That’s when we started to think about test automation.
Solution we developed for automating tests using AWS
So, we got together around a whiteboard, the equivalent of a Miro board, for those that can’t remember the pre-COVID in-person brainstorming session…:-) and started throwing ideas on how we could go about solving this problem. Soon we started to see the skeleton of a test automation framework starting to emerge out of the discussions.
The test automation framework we created had two main components to it targeting two types of automation. One was for functional test automation, the other was performance testing automation.
The functional test automation component was automating the testing for APIs using Cucumber, Selenium, and REST Assured. It included Lambda functions to simulate the API, which we realised were needed for creating the stubbed APIs for testing. We used EC2 instances to run the test automation scripts and to generate load. We used Cloudwatch for monitoring and observability. The performance test automation component was created to automate generating the load for performance testing and used the same technology components.
How this helped the customer
There were many benefits of this, apart from the labour cost savings from the automation of testing and resolving the challenge of finding enough testers. All the existing testers were still able to shift their focus to creating new test suites for new functionality. This relieved the developers from having to worry about the test automation scripts.
This enabled the customer to move from risk-based testing to coverage (improved quality of the product). It also allowed them to spin up infrastructure to run the tests and turn them off when not required. Also, being able to tailor the test suites to different environments without having to recreate and rewrite them.
Not forgetting the benefit of being able to develop the APIs and the test suites in parallel (for shared learning between developers and testers) and most importantly the reusable for other teams and highly scalable.