Testing Microservices vs Monolithic
Image created by: Japneet Sachdeva

Testing Microservices vs Monolithic

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.

  • Scalability issue: In 2011, Uber, with UberBLACK as its sole product in San Francisco, ran on a monolithic architecture. As Uber’s services expanded globally, they started facing integration and scalability challenges in their codebase. By 2015, these complexities prompted Uber to follow tech giants like Amazon, Netflix, SoundCloud, and Twitter, transitioning from Monolithic to Microservices Architecture.

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:

  • Routing requests to the appropriate backend service based on the URL and method.
  • Security enforcement like authentication and authorization.
  • Traffic management to handle scaling and load distribution.
  • Monitoring API usage and performance.

Testing API Gateways:

  • When to test? Throughout the development lifecycle:
  • Unit tests: During development to verify individual components like request routing and response formatting.

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

要查看或添加评论,请登录

Japneet Sachdeva的更多文章

社区洞察

其他会员也浏览了