MICROSERVICE ARCHITECTURE
PROJECT SUMMARY
CHALLENGE
Optimize regular testing of the multi-interface platform without the disruption of its operationsPRODUCT
A social platformDELIVERABLES
We’ve automated part of the tests based on a TDD approachINTRO
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.
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.
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
Let's create something
awesomeOUR RECENT PROJECTS
- social platform
- CI/CD approach
- scalable test automation
- containerized environment
- productivity app
- debugging
- data synchronization
- offline-first approach