CX
DOJO
REDUCE REGRESSION TIME IN A

MICROSERVICE ARCHITECTURE

PROJECT SUMMARY

Problem statement

CHALLENGE

Optimize regular testing of the multi-interface platform without the disruption of its operations
Product overview

PRODUCT

A social platform
Value delivered

DELIVERABLES

We’ve automated part of the tests based on a TDD approach
Check Software Development service

INTRO

Introducing change in a large and complex system is often tricky. Adding new features or fixing bugs with every sprint may disrupt existing product functionality. To achieve a certain level of quality, proper testing is required. Manual testing can be time-consuming, requiring additional investments in human resources. To reveal defects early in the process as well as reduce the risk, we implement regression testing.

However, the more complex the product becomes, the more regression testing needs to be done to make sure that nothing was broken in every iteration and the quality didn’t deteriorate. That’s why it’s crucial to have an effective strategy for regression testing.

OVERVIEW

For our client, we developed a social platform. The challenge was to help deliver quality and stable product.

CHALLENGE

Because of the size of the project, there were parts of the application that couldn’t be manually tested regularly in a cost-effective manner. Additionally, over time, as the system started to increase in complexity, it became more difficult and time-consuming to execute all test cases.

Iterative product development

To reduce the time spent on regression testing, and enable testers to achieve better test coverage regularly, we decided to optimize the regression test suite.

Our main task was to deliver a working product through short iterations (every three weeks) as well as guarantee that the parts of the app which were affected by the changes still work.

SOLUTION

From a technical perspective, the social platform is a complex product that includes multiple user interfaces.  To ensure smooth app releases, the CXDojo digital product development team created a robust automation framework from scratch that facilitated the ability to quickly and effectively find and resolve bugs.

One of the important things to understand about regression testing is that it works best when running early and often during each sprint.

This is because running them later in the development cycle may yield unfavorable test results.

The aim was to react quickly to changes in the production environment and to ensure the high quality of the product – much before users even realize there’s an issue. For this reason, our QA specialists created detailed specifications with clear acceptance criteria to speed up the development process and to exclude possible bugs before they appear. Additionally, thanks to clearly defined tasks and the correct execution of functions, there was no need to write test cases, which allowed us to save time.

Microservices automated testing

Our team of QA engineers created a flexible checklist, which we update whenever adding new features.

Since microservices architecture depends heavily on the communication between service components, test automation checks APIs, interfaces, communication paths, and service components while ensuring the internal implementation of services remains independent.

Because of the complex structure of the project and the need to provide a fully functional and high-quality product within short iterations, we decided to automate a certain number of tests to solve the problem of growing regression testing time in a system with microservice architecture.

We used the Test-Driven Development (TDD) method in this project. This method assumes that the right application code is created only when tests to verify the accuracy of the code have been designed; it mitigates the risk of regression errors and supports high coverage of the code with unit tests, resulting in a much lower number of application errors.

VALUE DELIVERED

Automated regression testing allows us to check a variety of changes and free up QA engineers to conduct manual exploration into more unusual cases in the production environment.
Thanks to testing automation at the level of unit tests, modules, and integration tests, the number of regression bugs has decreased.
After six iterations, the team managed to achieve a result when the data integrity control points and integration cases were 100% covered by autotests.

Let's create something

awesome

OUR RECENT PROJECTS

HIPAA-COMPLIANT MIGRATION HIPAA-COMPLIANT MIGRATION
  • medical software
  • migration to AWS
  • HIPAA compliance strategy
  • tech support
Improving Software Quality with Continuous Integration Improving Software Quality with Continuous Integration
  • social platform
  • CI/CD approach
  • scalable test automation
  • containerized environment
REAL-TIME DATA SYNCHRONIZATION REAL-TIME DATA SYNCHRONIZATION
  • productivity app
  • debugging
  • data synchronization
  • offline-first approach
VIEW ALL