# Cindy Sridharan - Testing Microservices, the Sane Way (Highlights)

## Metadata
**Cover**:: https://readwise-assets.s3.amazonaws.com/static/images/article4.6bc1851654a0.png
**Source**:: #from/readwise
**Zettel**:: #zettel/fleeting
**Status**:: #x
**Authors**:: [[Cindy Sridharan]]
**Full Title**:: Testing Microservices, the Sane Way
**Category**:: #articles #readwise/articles
**Category Icon**:: 📰
**URL**:: [copyconstruct.medium.com](https://copyconstruct.medium.com/testing-microservices-the-sane-way-9bb31d158c16)
**Host**:: [[copyconstruct.medium.com]]
**Highlighted**:: [[2021-01-30]]
**Created**:: [[2022-09-26]]
## Highlights
- asking to boot a cloud on a dev machine is equivalent to becoming multi-substrate, supporting more than one cloud provider, but one of them is the worst you’ve ever seen (a single laptop)
- I’ve [previously written](https://medium.com/@copyconstruct/monitoring-in-the-time-of-cloud-native-c87c7a5bfa3e) in great detail about “post-production testing” from primarily an Observability standpoint.
- [Charity Majors](https://twitter.com/mipsytipsy) gave [a talk at Strangeloop](https://www.youtube.com/watch?v=1wjovFSCGhE) this year, where she spoke about how the difference between Observability and “monitoring” really boils down to the known-unknowns and the unknown-unknowns.
- The book [**Lessons Learned in Software Testing**](https://www.amazon.com/Lessons-Learned-Software-Testing-Context-Driven/dp/0471081124) has a piece of really good advice in the chapter *Thinking like a Tester*, which states: **To test, you must explore.**
- The writing and running of tests is not a goal in and of itself — EVER
- In the past, I’ve gone on to state that:
integration tests only yield full value when the feedback is *fast*.
Good (and *fast*) integration testing (both local and remote) as well as good instrumentation often serve better than striving to achieve 100% unit test coverage.
- Yet another drawback of integration tests for complex systems is that it then demands maintaining separate environments for development, test, and/or staging.
- The Step Up Rule
- test at one layer above what’s generally advocated for.
- Unit tests look more like integration tests
- Integration testing looks more like testing in production
- If you’re an Erlangista, you’re probably familiar with Fred Hébert’s [manual](http://erlang-in-anger.com/) on using the Erlang VM’s primitives to debug production systems while they are running.
- Monitoring is a form of post-production testing
- If the tests require 100% health to operate, you know you’ve got a problem.