Case studies

Testing solution boosts efficiency and quality for leading AI service provider

About the client

The client is a leading AI solution provider that offers cutting-edge solutions to customers globally.

They specialize in delivering artificial intelligence and machine learning-based services, and their solutions are designed to improve business operations, automate processes, and enhance customer experiences.

Overview

The client approached codvo.ai to enhance their automation testing framework for Cypress. The client's initial framework was designed in the default Mocha-chai framework, and they were facing several challenges due to the design of the code. The code was difficult to understand, not reusable, and upgrading and extending the framework was a challenge. The client wanted to reduce maintenance and operational efforts, improve review processes, and make the automation framework more accessible to all stakeholders.

Business Challenge

The client's initial framework was designed using the Mocha-chai framework, which only a technical person could understand. The code was written in "describe" and "it" blocks, which made it difficult to understand for non-technical stakeholders. Due to the design of the code, the client was facing several challenges, including increased manual efforts (20-30% more effort), reduced reusability of the code, and limited upgradability and extendibility of the framework. Additionally, there were more maintenance and operational efforts required to maintain the framework.

Our Approach and Solution

To address the challenges faced by the client, we adopted a modular approach using the Behavior Driven Development (BDD) framework for Cypress automation. We first identified the common steps in the automation process and placed them in the helper's folder for reuse wherever required. We then developed feature files in human-readable form, making it easier for non-technical stakeholders to understand the automation results. We also used Cucumber BDD testing to improve collaboration between stakeholders and enhance the review process. Additionally, we added a custom report plugin to show dashboard reports, which helped to monitor and review results more efficiently. Finally, we used Allure Report to generate custom reports, making it easier to identify and address issues, and improve reporting. This approach not only reduced manual efforts and improved reusability but also enhanced the efficiency of the automation framework

Tech Stack

We used JavaScript and NodeJS to develop the Cypress automation framework. We used Jenkins as a continuous integration and continuous delivery tool, Cypress.io for end-to-end testing, and Cucumber BDD testing to enhance collaboration between stakeholders. We also use Allure Report to generate custom reports and improve reporting.

15+

Team members involved

30+

Tools used


30+

Days delivery

50%

Increase in productivity


Highlights

Business Impact

Our approach helped the client to reduce manual efforts by 60% and save approximately 4-5 hours of manual effort.

All projects can simultaneously access the code from a single pull library or a common server, making it easier to manage and maintain the framework.
The modular approach and the use of the BDD framework improved collaboration between stakeholders, making it easier to review and monitor results.

Our solution helped the client to improve the efficiency of their automation framework, reduce manual efforts, and enhance the quality of their services.