Testing MicroServices Architecture

What is MicroServices?

  • Micro services concept is standalone smallest software module that provides a specific set of capabilities.
  • Each Micro service can scale, manage & deploy independently
  • MicroServices can communicate to each other across the network through a gateway by a well-defined contracts.

Objective of MicroServices:

Decoupling

  • Each functionality is loosely coupled to support SaaS architecture. MicroServices are integrated through REST over HTTP.

Maintainability

  • Every service can me maintained, upgrade and tested independently which is essential requirement for SaaS architecture. Easy enabler for continuous delivery which support frequent releases by keeping the rest of the system available and stable.

Scalability

  • Each Micro service can be scaled independently as per usage and consumptions.

Availability

  • Each Micro service can be independently design for failover and enhance the availability based of usage and criticality of individual component.

Test strategy for MicroServices Architecture:

Unit Testing:

  • Test driven development can make sure smallest piece of functionality works as expected.
  • Test each smallest functionality in isolation.

Deployment Testing

  • To verify the bundling & packaging of each services so that it can function as a standalone module.

Functional Testing

  • Specific functionality of each services will be tested standalone so they can provide services to others services by well-defined contract

Integration Testing

  • Test communication & integration of services across boundaries/interfaces
  • Each service communicate as per defined contract through gateway
  • Automated tests should be written to cover end to end integration tests

End to End Testing

  • Test entire system end to end as black box.
  • Data synchronization across the services & component.
  • Use case/Persona based testing

Non-Functional Testing

  • Performance: Performance Testing of individual service and End to End performance system as a whole.
  • Security: Make sure all Microservices are secure and adhere to guidelines.

Really nice to know. thanks for sharing.

Like
Reply

Ajay Tripathi: Agreed and will give thought on it.

Like
Reply

To view or add a comment, sign in

More articles by Kumar Satish

Explore content categories