Being a single-man shop for building commercial website sometimes are really painful when coming down to testing because you are lack of so many resources to get it done right. A recently discovered bug in my recent developed website caused great concern to my customer. The bug was fixed right after being discovered but I had to take one step further to get the website HackerSafe certified to finally settle it down. Obviously, the website passed the HackerSafe scan without any problem because the main problem wasn't the security vulnerabilities but the bug that failed to be caught because of the lack of qualified well-planned testing.
When I was at school learning software engineering, I was told that there is no software that is bug-free, meaning that making perfect software is nearly impossible and all you can do is to use whatever techniques and tools you have to test and eliminate as much bugs as possible to make the software as much close to perfect as possible. Testing or QA is so vital, even more nowadays, that any little ignorance would hurt the software to decrease the quality as the result. So how and what should I do, as a solo developer, to make better application next time by providing more efficient testing methodology?
First of all, I would adopt Unit testing mode when actually programing the application because it validates units of the code to make sure that they are working properly, and more importantly it forces me to stop and think about the test. Could be a nice approach. It apparently would discover and catch the bug mentioned above.
Secondly, making more detail testing plan in writing and complete it through before handing over for end user beta test. And if possible, ask other testers who also has programming skills to test my application, mainly to test application's logical, structure, functionality, and usability.
Thirdly, convince and involve more end users who don't have programming skills to test to get more feedbacks and hidden bugs for the front-end interface and usability, or maybe new features.
Lastly, once the application goes public, check error log frequently to catch more bugs that usually are hidden and buried in these error logs.
Is it easy to accomplish? Not really, because it is the way to go to assure the thing I am making is getting the better quality.