It's time to admit Lemmy has won the "the biggest reddit alternative" award, why it's time for all of us to consider supporting it (here's why) + reopening r/LemmyMigration
I’m concerned with the amount of bugs cropping up between major updates. I looked at the repo and they have no unit tests. Eventually people will get fed up with the amount of bugs appearing.
As mentioned in other comments, they have some tests in the backend repo. Moreover, its being an open source platforms means that contributions are welcome: bugs can be reported, missing tests can be added, fixes can be merged and so on...
"Some tests in the backend" would instantly get you fired from some companies. Lack of tests is a symptom of the programmers not being as experienced as they should be, when making a platform such as this.
The issue is, if open source has any chance of competing with paid software, it needs the same standards a regular company has. It's not about "increasing productivity" as you put it. It's actually about doing less. By writing tests, you spend less time on the code that ends up in the final application. But the result of that, is that the final application breaks less. Issues that could have been avoided, are incredibly rare.
Writing regular code is fun, it's exciting. You deliver new toys that people see and are thankful for. Writing tests is the opposite of that, it's boring and dreary for most people. But it is necessary to maintain a quality product. No regular user will thank you for tests being present, they'll complain when things break. They won't adopt a new version, since there is no automatic regression testing possible, since you haven't written tests and things break in the next version. So now you have to test the entire thing yourself. Which is even more boring than writing tests, so you move onto exciting new features again. And you end up in a death spiral a few years from now, since you can't see why a certain feature stopped working, all the features depending on it break one after the other, and the only way to check what's wrong, is to go test everything there is.