The client is a digital logistics firm helping some of the largest e-commerce and courier services manage their global supply chain logistics. With an end-to-end logistics platform built across the mobile app and website dashboard, the client gives organizations real-time visibility and predictive intelligence. This ensures on-time deliveries and business excellence.
The client’s automated workflow engine, accessible on mobile and web, was designed to give supply chain managers and field delivery teams a platform to track jobs in real time. It aims to automate the complete workflow right from when the parcel is picked from the mother hub to when it is delivered to the customer.
Because they work with several different clients operating supply chains in different countries, the workflow engine was highly customizable. For each client, the client was able to create multiple custom workflows based on parcel delivery across different locations, time zones, currency, and compliance requirements.
The key to delivering this highly complex and valuable solution to the clients’ satisfaction is ensuring that every single workflow is executed flawlessly every single time. From creating a new parcel job for each order, to it being reflected on the mobile app for the field team, to final delivery – every action needs to work exactly as expected.
That was the goal for Qapitol – to ensure that the end-to-end platform was automated and working flawlessly with visibility across mobile and web apps.
To break it down, Qapitol QA was tasked with:
Qapitol QA created a Test Automation Framework that automated testing across each mobile, web application and API flow of the client’s workflow engine, from job creation to payment. The framework was then customized to test all the different custom workflows that the client had created for their clients, and involved end-to-end integration testing to ensure error-free user experience.
The client’s workflow engine was a highly complex solution with a lot of moving parts:
The large number of custom workflows meant more than 500+ end-to-end scenarios and 3000+ test cases. End-to-end testing of the platform at regular intervals and with each new release was impossible. Depending on the number of test cases, end-to-end testing could take 10-11 hours even for an automated single instance.
Qapitol QA’s approach to creating a test automation framework that successfully addressed these challenges involved building automation test suites for the platform as well as implementation layer.
For any new delivery order for a client, the website reflected the job created, as well as the status of the parcel as it was picked up/delivered and acknowledged by the customer. Similarly the mobile app enabled the delivery executive to see that job, and act on that task.
To ensure that these platforms worked flawlessly and maintained task visibility, Qapitol QA team set up an automated end-to-end testing framework which triggered every night to test each action.
A compiled report was generated for each test, with a snapshot of the failed cases that could be notified to a designated email address.
The entire test CI pipeline was coupled with auto deployment. This helped ensure a flawless continuity in the delivery cycle and a seamless customer experience both at the implementation as well as the platform layer.
Automated single instance end-to-end testing could take 10-11 hours. To optimize the execution time, parallel test execution engine was used. Parallel test execution engine supports test distribution across multiple machines or across browsers / devices to speed up the test process.
Qapitol QA performed an intelligent analysis on whether the number of cases tested for automation for the client is sufficient for the release. The team also provided analysis and insights on failed test cases to isolate the cause of failure, and determine failure threshold to hold release.
Tools: Apache Jmeter, New Relic, Jira, AWS, Docker, testNG, Kubernetes, Icinga, Postman, Se, Appium
Programming Language: Java, Python