4 ms·
>Even the digital property liberators/internet pirates don’t test their software. I feel like I’m on an island with a small population of test enthusiasts. Ult
by unbanned 5y ago
>Even the digital property liberators/internet pirates don’t test their software. I feel like I’m on an island with a small population of test enthusiasts.
Ultimately, what's the point. The tool either works, or it doesn't. Then you patch what doesn't work so it does work.
Heck even the Linux kernel isn't tested.
Unit tests are so management can have a good metric to sell code quality. I don't know any time unit testing has actually benefited shipping faster (which really is the only bottom line those above you care about)
- develop7 5y agobut linux kernel is covered by tests. Not 100%, not all the subsystems, but there are automated tests nevertheless (introduced by Greg K-H, AFAIR)
- gentleman11 5y agoWhy isn’t the kernel tested? Too close to the hardware to be practical?
- danuker 5y agoMy experience: running a unit test is much faster than a manual test. While developing a feature or fixing a bug, it speeds you up overall, in spite of the initial investment in writing the test. As a bonus, you can keep them running permanently, to prevent new bugs or regressions.
- horsawlarway 5y agoAnd the test covers much less surface area than most manual tests. For code that's expected to be stable for a LONG time - sure, write lots of good tests. For code that breaks at someone else's whim, which has a small shelf life, or which has a large surface area, think really, really hard about whether the test is actually going to be worth it.
- caillougris 5y ago> I don't know any time unit testing has actually benefited shipping faster It's of huge benefits to me when I have to make a small tweak (fix a bug, or add a new specific corner case) into an existing codebase that I didn't write and don't know very well. Being able to make a small change and being confident that it will not send everything burning in hell.
- datavirtue 5y agoThis, and any code base of significant size is unknowable and starts to produce bugs naturally. Requiring tests and verifying minimum coverage are a few things you can do to control the death spiral. I have worked on large systems devoid of tests. Not recommended. I literally witnessed multi-million dollar losses that would have been prevented by requiring tests.
- shakna 5y ago> Heck even the Linux kernel isn't tested. Apart from the Linux Test Project [0], run by all the big Linux names, who regularly issue very detailed bug reports and usually patches as well, you mean? [0] https://linux-test-project.github.io/ https://linux-test-project.github.io/
- everybodyknows 5y ago> Heck even the Linux kernel isn't tested. Linux kernel self-tests: https://kselftest.wiki.kernel.org/ https://kselftest.wiki.kernel.org/ Kselftest is run everyday on several Linux kernel trees on the 0-Day and Linaro Test Farm and other Linux kernel integration test rings. Most recent update to the source code was yesterday 2021-12-26: https://patchwork.kernel.org/project/linux-kselftest/list/ https://patchwork.kernel.org/project/linux-kselftest/list/
- ohthehugemanate 5y ago> I don't know any time unit testing has actually benefited shipping faster There's a lot of empirical research about this. A. Lot. Starting in the 80's, even. It's as close as it gets to empirically proven that software testing greatly reduces bugs and regressions, and accelerates delivery over the long term. It's not as clear if the acceleration is entirely freed up resources that would otherwise be spent fixing bugs, or if it also makes people develop faster. Also, it's pretty clear that Automated testing doesn't accelerate short or short term projects.