your test goal is to have good enough confidence for release
that means you are not testing plenty of things
test what gives you highest confidence, for a low cost
don't test try-hard, lowly testable, flakey system features. If they're shit to begin with , you don't need testing to prove it. If it sometimes doesn't work manually, how will it work with automation? (You can load test them with k6 to blow them up, that's some fun stuff. )
Losing confidence in the tests because of a flakey system is the worst you can do.
My golden rules in testing
- It’s always cost vs confidence
- cost = creation + execution + maintenance
- What you can avoid testing is more important than what you are testing
apply risk based testing, and make concessions in the right places