2 ms·
I'd say no tests isn't an automatic red flag. A working build system and some sort of version control are far more important than tests. I've worked on a few
by jofer 7y ago
I'd say no tests isn't an automatic red flag. A working build system and some sort of version control are far more important than tests. I've worked on a few large (>500kloc) codebases with no version control, no tests, and no build system (that last bit is the actual shocker). In most cases, I slowly added version control, tests, and CI.
However, convincing management that things like tests (or even version control) are worthwhile can be an uphill battle, and they're right to question why you'd want to do do unnecessary work. I'd say it's quite common to skip unit/integration tests (let alone CI) anytime you're working outside of the tech industry. It's also not necessarily a bad thing.
If the project is mostly a gui with little core business logic, it's actually relatively hard to test what really matters (responsiveness, weird UI bugs on different platforms, etc). That's not to say you shouldn't, just that you should be a aware that CI only gets you so far. Most places I've worked deliberately eschewed unit/integration tests on software along those lines in favor of a very manual QA testing. It's different, but it's not wrong.
And now the war story: The project with no build system was a disaster. No tests are fine... I can live with that. No version control was annoying, but fixable for the future. The lack of a build system was really puzzling. What build system there was consisted entirely of shell scripts (and CSH, at that). I realized while trying to get things to build on a modern compiler that a key binary had not been successfully built in over a decade. No one noticed because the shell script 1) didn't fail when the build failed, and 2) touch-ed the binary even if the build failed. End result was a recently-timestamped binary that was actually last built on RHEL3. It also explained several long-standing critical bugs that the previous developer insisted had been fixed a decade ago.