Testing Microservices vs Monolithic
Japneet Sachdeva
Sr. SDET| Full Stack QA | API & UI Automation | QA Advocate | Top 1% Mentor | Gen AI Enthusiast | Prompt Engineering | Continuous Learning | Writes to 80K+| 32K+ Newsletter
Understanding systems or applications from architectural perspective gives really improved approach of testing for testers. Now as world is moving towards using AI for our common needs and reducing our efforts. We need to improve ourselves in Higher Level and Lower Level system understanding.
So today, as part of this I am going to provide approach and architecture understanding of Higher Level Systems. Such as Microservices and Monolithic architectures. We will discuss about How these architectures are different and how to test it?
Take a look at my course with E-books created specifically for SDET and future SDET managers: Link
Monolithic: is a software application that typically contains all the code in a single code base. The server-side application, the API endpoints, business logic, data model and background jobs, etc., are all defined in the same codebase. This means that if developers want to make any changes or updates, they need to build and deploy the entire stack all at once.
Become a successful Test Architect with Full Stack QA: Link
Testing Strategy for Monolithic System:
Automated Tests using regression testing can be helpful for catching early stage bugs
End to end testing is the most suitable aspect for Monolithic based applications
Microservices: splitting the application into small services, and these services are independent of each other (loosely coupled). Working with microservices also demands more experience and seniority from the development team.
As shown in the image above, the UI connects with one or more microservices, and these microservices can communicate with each other by synchronous or asynchronous communication. Also each microservice has it’s own database.
领英推荐
An API gateway acts as a single entry point for clients to access various backend services in a microservices architecture. It sits between clients and services, handling tasks like:
Testing API Gateways:
Testing Strategies:
Automated Tests using regression testing can be helpful for catching early stage bugs
Major Advantage: Isolated component testing is very easy to conduct
Thorough API & Database tests can also be really useful in such cases as the whole application is one and data creation, using same data for further testing can be easily integrated in automated tests. But integration tests can be challenging to setup. Can also be known as Contract Testing
Read complete article here: Link