Websocket and Rest API Test Automation
The Client
The client is a SaaS solution that simplifies the labeling and packaging process for manufacturers through automated workflow templates, online proofing tools and digital asset management.
By leveraging SaaS based collaboration and workflow tools, the client dramatically improves efficiency KPIs in label development and deployment for more than 100,000 users, 12,000 brands and 5,000 companies worldwide.
The client’s solution enables its customers to satisfy the rigorous demands of creative, branding and regulatory compliance industries.
The Business Need
A recent acquisition of another software solution resulted in the need to merge two products into one. One stage of this process was to create a solid set of internal APIs representing back-end services to the UI layers.
To ensure a smooth transition, it was important to not regress in existing functionality when adding new features or rationalizing existing features. Before engaging with Optimus, the client was testing their APIS manually, which was time consuming. They needed to complete Regression Testing under 8 hours and Smoke Testing of the release build under 2 hours. To facilitate this, automation of the API Regression Testing with each iteration was the logical choice.
The Optimus Solution
Optimus delivered a turn-key Test Automation Framework (TAF) that could be used to regression test the APIs of their latest product release. We also provided Test Case design and automation of the full regression test suite, and test execution and reporting (results and defects) of the regression tests.
To mitigate risk, the work was divided into following phases:
Phase 1: Project discovery and high-level planning
Phase 2A: TAF: Proof-of-Concept
Phase 2B: TAF: Fully functional, turn-key solution
Phase 3: Test Case design and automation of the regression test suite
Phase 4: Test execution and reporting of results and defects
We collected the Test Automation Framework requirements, such as integration with the Test Management Tool, script execution on multiple System Under Tests (SUTs), the Test Automation Framework supporting Websocket, and REST and SOAP APIs, and delivered it to the client.
The Challenges and How We Overcame Them
The client’s existing APIs had defects that resulted in inconsistent test results. As such, Optimus had to report them as issues in the client’s defect tracking system and track them until their closure.
Modifications in the framework at the last stage of the project created challenges. We had to implemented proper verification and executed test scripts in all possible scenarios and make sure no existing functionalities in the framework were impacted.
Interdependency of test steps caused the scripts to fail on several occasion, so Optimus was required to implement better exception handling and a thread-safe approach.
While Optimus continued to create test scripts, the environment became unstable as the database size increased with the growing number of records. As a result, environment becomes unreachable while performing test script execution. To overcome from this situation, Optimus maintained active contact with the client’s support team to ensure size and stability was maintained at an operational level.
Results
Using the Test Automation solution provided by Optimus, the client was able to perform testing of APIs much faster and perform releases more quickly. They are now able to complete Regression Testing of 3805 test scripts in 6-8 hours and Smoke Testing of 310 test scripts in 20 mins.
Conclusion
The client had a high sense of comfort working with Optimus and were soon confident of the project’s success. The client was able to integrate Test Automation Framework with their CI/CD process.