Microservices Testing at Scale

Link

https://springone.io/2021/sessions/microservices-testing-at-scale

Author(s)

Kishore Kotaas as Sr Architect, Discover Financial Services

Sindhu Nair as Principal Value Stream Architect, Discover Financial Services

Length

22:58

Date

09-09-2021

Language

English 🇺🇸

Track

Architecture

Rating

⭐⭐⭐☆☆

  • ✅ Interesting overview of the extended testing pyramid.

  • ⛔ Too much theoretical and abstract, missing real-life examples of what exactly is tested in each part.

"Contract testing allows API producers and consumers to work in a decoupled fashion."


Testing monolithic architecture heavily relies on End-To-End testing and prolongs testing cycle.

Testing microservice architecture involves testing a lot of small moving pieces, but system integration becomes more complex.

  1. Unit testing (isolation, mocking, and stubbing)

  2. Contract testing (contract creation and verification)

  3. System integration testing (system entry points)

  4. Backwards compatibility testing (two-step process)

  5. Performance testing (virtualize dependencies, short intervals, and quick feedback)

  6. Vulnerability testing

  7. Disruptive testing (dependency and API outage)

  8. E2E testing

  9. Browser compatibility testing (Selenium)

  10. Production Smoke testing (certificates, network connection).

For disruptive testing, it is possible to use Spring Boot Chaos Monkey.