I followed the hype: Reddit, Slashdot's front page, months of thumbs up on my blog and various video forums by Linux users for OpenShot. Given that I'm longing for a usable Linux video editor since 2003, and given that OpenShot version 1.0 had just been released, I naturally gave it a go, by also downloading its provided dependencies on my Ubuntu Linux 9.10.

So if the job of testing software is not handled by the developer (you know, the person who made the software in the first place) who has some kind of clue on 1) what is expected to work or not 2) how to debug, then whose job is it? Tech journalists/bloggers?

Obligatory car analogy: do you expect car manufacturers/engineers to test their new cars, or the consumers?

That's the job of the testers, obviously!
Job role: software tester. Runs the software on various configurations and tries to test as many paths as possible. Then writes detailed bug reports where he explains his findings. He does not debug anything, just write reports. The devs do the debugging.

Obligatory bogus car analogy: Do you expect the engineers or the dummies to be involved in crash test?
I trust them more than the manufacturers to test the cars: http://en.wikipedia.org/wiki/EuroNCAP

That's the job of the testers, obviously! Job role: software tester. Runs the software on various configurations and tries to test as many paths as possible. Then writes detailed bug reports where he explains his findings. He does not debug anything, just write reports. The devs do the debugging. Obligatory bogus car analogy: Do you expect the engineers or the dummies to be involved in crash test? I trust them more than the manufacturers to test the cars: http://en.wikipedia.org/wiki/EuroNCAP "

I wasn't sure if you were posting this as a tongue-in-cheek joke or not, because it's hard to conceive that anybody would post anything so asinine -- and actually believe what they're saying. It's just wrong on so many levels and, if this is what the devs on this project believe, then it's no wonder that the quality is so poor.

Look, as a developer, it's your RESPONSIBILITY to make sure that your code is as well-tested as possible before you release it. You can't defer this responsibility to someone else. You own it. I'm not suggesting that you can't use the help of other people. What I'm saying is that YOU own the quality of your code, and you need to take responsibility for it. You can't blame other people for not finding your bugs. The software engineering process should include time to write solid unit tests that exercise as much of the code as possible. The unit tests should run with each and every build. It's also advisable to create integration tests, if you need to integrate with other components. Many companies offload the job of integration to testers, but there's no reason why developers shouldn't be writing these tests.

Now, of course, it doesn't hurt to have additional people testing your code, but that shouldn't be your sole line of defense. Use private or public betas to get more code coverage. The point is to exercise as many codepaths as possible, and remove as many defects before release. This is more of a partnership between dev and test than a dividing line.

Show me a developer who says that he can't test his or her own code, and I'll show you a poor developer. I would never hire anyone with that kind of attitude. The best software engineers test their own code. Period.

Google doesn't hire testers. There's a reason for this. Developers know their code better than anyone else. Certainly, there are conflicts of interests, where a developer may not want to reveal bugs in his or her code; or, perhaps, he or she may lack sufficient vision to find their own defects. But that's not a fundamental problem with the engineering process. It's a problem with the INDIVIDUAL. Fix that -- and you produce a solid product. Ignore it, and you produce crap.