4 ms·
> Some people involved in the project are talking about "100% unit test coverage" as a target. 100% targets ignore that software engineering is different from
by oxff 4y ago
> Some people involved in the project are talking about "100% unit test coverage" as a target.
100% targets ignore that software engineering is different from programming: costs in engineering hours, resource invested, maintenance burden etc. all should lower the target.
Also think hard if unit test is suitable for your program. Most compilers aren't unit tested. Distributed system unit testing requires an absurd mock infrastructure.
> The project include some fault-tolerant distributed servers, proxies and various API proxies/converters
Make the unit test target ~20% and focus rest of the time you would've spent on writing unit tests to making the system debuggable: all the best distributed systems are extremely debuggable, since there are no unit tests that will help you once there's an RPC (such things subvert any and all invariants you programmed)
- https://rbcs-us.com/documents/Why-Most-Unit-Testing-is-Waste.pdf https://rbcs-us.com/documents/Why-Most-Unit-Testing-is-Waste... also p. fun read
- jgaa 4y agoThank you! Very interesting article.