Project Summary
A major retailer with more than 4000 stores globally, including in South Africa, the UK, and Australia, sought to improve the efficiency of their credit application process. The retailer offers revolving credit and processes applications both in-store and online. All credit applications are processed by a desktop app that handles data validation.
Manually testing a high volume of applications was inefficient and costly. The retailer needed a faster, more reliable solution to ensure its desktop application correctly processes various customer data, triggering appropriate flags for errors or fraud.
Inspired Testing implemented UI test automation with Selenium and FlaUI, allowing the retailer to simulate multiple data scenarios, including valid, invalid, and fraudulent inputs. This reduced testing time by 50%, improving test coverage and efficiency.
Company
Major South African Retailer
Industry
Retail
Location
South Africa
Solution
UI Test Automation
Technology Stack
Team
1 x Junior Automation Engineer
Duration
Ongoing
Client Overview
The client is a leading player in the retail sector, operating over 4,000 stores across multiple markets, including South Africa, the UK, and Australia. It has a diverse brand portfolio that spans clothing, jewellery, sportswear, and homeware, across 34 brands.
The client has embraced an omnichannel approach, integrating physical stores with online platforms and mobile applications to enhance customer experience. It offers a revolving credit product that can be used at any of its brands. The credit account also gives access to optional products and services including insurance, magazines, and cellular products.
Problem statement
Customers can apply for credit accounts in-store or online. All applications are pushed to a desktop app where validation takes place, including credit checks.
As a major retailer, the client receives a large volume of applications that need to be processed correctly. The desktop application needs to be tested to ensure that it correctly processes various types of data, the UI behaves as expected, and that errors and fraud checks are appropriately triggered based on the input. Correcting inappropriate flags slows down the application process, leading to customer dissatisfaction and increased administrative costs.
Testing this functionality requires the simulation of a wide variety of scenarios by using diverse sets of data to mimic real-world inputs. The different scenarios include valid applications, invalid data, edge cases, and fraudulent information. If specific test scenarios fails to trigger the expected response, it indicates a potential flaw that needs to be investigated and fixed.
The client did manual testing to fill out and validate a vast number of customer application scenarios which was time-consuming and inefficient. It needed to automate the process to improve efficiency and coverage and ultimately improve the customer experience in a very competitive market.
Solution
UI automation was implemented using Selenium and FlaUI in a test environment.
FlaUI enables the automation of UI interaction in Windows desktop applications. It can automate filling out the credit application form in the desktop application, including launching the programme, navigating through the UI, and submitting the application for processing. It validates the system response by accepting the application if all fields are valid, triggers a validation message where applicable, and flags potential fraud or high-risk data.
This allowed the client to:
- Automate test cases for various scenarios, including positive and negative cases like invalid ID entries.
- Continuously test the application under different data sets to ensure smooth validation and processing.
- Perform maintenance on test scripts whenever new releases or updates are made to the system, keeping the test environment aligned with the live system.
Before Improvement (Manual Testing Environment)
- The manual process consumed a significant amount of time and resources.
- Testing was prone to human error and delays.
- It limited the team's capacity to work on other critical tasks.
After Improvement (Automated Testing Environment)
- Automation significantly sped up the testing process, cutting the time required to capture an application in half, from 10 minutes to only 5.
- Improved coverage as more test cases could be developed and maintained efficiently.
- The team could continuously validate multiple scenarios, including handling fraud alerts and other errors, ensuring data integrity and system functionality.
- Consistency in test results, as tests are run in the same way every time.
- The test scripts are integrated into the CI/CD pipeline, improving efficiency. It can now be triggered automatically after each system update or code deployment, and on a regular schedule.
Benefit to the Client
- Increased efficiency: Automation reduced the time spent on manual testing and enabled testing of larger volumes of data efficiently.
- Cost savings: The client can validate applications more quickly, reducing the resources needed for testing and allowing staff to focus on other areas.
- Continuous Improvement: Regular maintenance and updates ensured that the test environment remained aligned with the live system.