0

What are currently the best or most popular tools/solutions for automated end-to-end testing of microservices (preferably with an entry-level as low as possible)?

The CI/CD process is GitLab-based with deployment to a cloud platform if that's relevant.

Criteria:

  • preferably low entry level for testers in terms of programming/scripting language;
  • licencing is of no matter (solutions with a price tag are also welcome);
  • e2e is meant between any given points in the process.
3
  • Welcome to SQA stack exchange. As it stands, your question is likely to be downvoted for being opinion-based - could you please edit to give your criteria and ask for tools that meet this criteria. For instance, do you want something that's free/open-source? Is there a preferred programming language? When you say end-to-end, do you mean end-to-end of the microservice, or end-to-end of the entire process? The more information we have, the more likely it is will be able to give you a good answer.
    – Kate Paulk
    Feb 3 at 12:32
  • 1
    @KatePaulk, done. Is this enough from your point of view, or there's still room for improvement? Feb 3 at 12:43
  • 1
    A couple of great articles Testing Microservices, the sane way and one by Martin Fowler
    – Rsf
    Feb 5 at 8:21
2

Microservice testing:

Microservice testing is same as any other API testing with a advantage that there is a contract defined for each endpoint meaning an expected output for an expected input, irrespective of the state of other components in the pool . This is because each microservice are individual process and need to be working independently.

How to do microservice testing

enter image description here

Advantages of this:

  1. You will be testing individual microservices
  2. You don't have to develop microservice but create mock servers that mimic response that the test target microservice expects other component
  3. This strategy ensures each module works as expected and works when integrated together
  4. Removes unwanted dependencies and adapts as microservice testing strategy

Recommendations:

You can use wiremock if you are using Java. But i recommends to migrate to postman as it supports mock servers inbuilt and it is really easy to use

https://blog.postman.com/postman-engineering-microservices-example/

Read more elaborated answer:

https://sqa.stackexchange.com/a/46186/40022

Update:

Read about distributed monolithic issue

https://www.gremlin.com/blog/is-your-microservice-a-distributed-monolith/#:~:text=A%20distributed%20monolith%20is%20an,is%20built%20like%20a%20monolith.&text=In%20a%20monolithic%20architecture%2C%20the,required%20for%20it%20to%20run

THis was discussed in postman galaxy today it was a great talk, make sure your architecture doesn't cause this issue and each unit work individually and independently

11
  • 1
    @High it should be specific value , response code , response status ,and response schema ,
    – PDHide
    Feb 4 at 12:56
  • 1
    @HighPredator gremlin.com/blog/is-your-microservice-a-distributed-monolith/…. read about distributed monolithic microsevice . THis is a bad design so y=check if your system can have this issue. Thats why system testing is importatn
    – PDHide
    Feb 4 at 21:04
  • 1
    @PDHide I don't understand how do you test integration ? using mocks doesn't guarantee correct integration between services
    – Rsf
    Feb 5 at 8:19
  • 1
    @Rsf that's why I mentioned about the distributed monolithic effect , each microservice should know the well defined contract on what happens when a service down ,what happens for a particular input . It's easy to have ripple effect in microservice environment
    – PDHide
    Feb 5 at 9:22
  • 1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.