3 ms·
Unit tests are worthless. End-to-end tests are 100% needed. You need tests that cover all use cases end-to-end including testing error cases. That’s the absolut
by mbrodersen 5y ago
Unit tests are worthless. End-to-end tests are 100% needed. You need tests that cover all use cases end-to-end including testing error cases. That’s the absolute minimum I would expect from a well-engineered system.
- R0b0t1 5y agoYou're both kind of right. You need to E2E your product, and what your product is is what matters.
- hinkley 5y agoYou can’t test all error cases end to end. If you can you have shitty error handling. Clock skew between servers? Drifting clock skew? Disk space exhaustion? Disk space exhaustion at each possible failure point? There are so many of these and you’re going to inject most of them in unit tests. My original point was that if you can’t write good unit tests your e2e tests are also going to be lousy, and you will never get good at either, let alone both, if you fixate on more coverage with E2E tests. They’re also just too damned expensive even if they were qualitatively as good. Which they are not. They are less numerous, sure, but that’s false economy because they are usually 3 orders of magnitude slower.
- mbrodersen 5y agoOf course you can. Part of the end-to-end test is to setup the test scenarios you want to test (including limited HD space etc.)
- hinkley 5y agoYou're going to spin up a vm with the wrong system time, and then advance it between two operations that take 200 ms on a live system? Bullshit.
- mbrodersen 5y agoWhat a BS straw man answer. There are much easier ways to do that kind of testing.
- mbrodersen 5y agoThey are only slow if you do it wrong.