Lately I have been working on Excalibur the toolbar / start button application, I recently uploaded a new version to OS4Depot, some people that did not install application nor read the user guide, noticed some problems that I did not notice, on my optimal configured Excalibur v1.1.0, so the same day I fixed and uploaded version 1.1.1, this version will solve some of the confusion and crashes.
Often when you write a program, you forget to test all conditions where application can fail.
Some developers use beta testers but then beta tester are often lazy and don't report back, so I don't.
Some languages like ruby on rails, run a number of testes to check if some thing is broken, that's not case when my hobby projects, and to tell you the truth it will mostly likely take 3 times as long to complete projects that way, because all test has to be written, in many case you don't know what test before problem is noticed, when many developers cooperate on project test are a necessary evil, because sometime some think they can remove or change some thing, maybe they did not understand way things where written the way it was.
I guess way to do it, is to split up the application in many smaller parts that can be compile and tested individually, sorry people not going to do that its way too much work, and result of test is debatable, of cause 1 or 2 bugs might be found before a application is uploaded that way, but I think of all my users as beta testers, you use my applications freely so that's your job :-b