Aw the age old question. When should a developer being testing their code and when are they done testing it? Personally I think a software developer should be testing their code the entire time they are writing it. Ideally each piece of code is tested as it is wrote. Then the code it tested as a whole once all the pieces are put together. This is important because errors are easier to find and fix when there are smaller pieces of code to work with. Often when you fix a bug it causes other bugs because other pieces of code rely on the one you just "fixed". So if the code is "fixed" before the other pieces of code are written then it causes fewer problems. At the end of the day a developer is never done testing. Unless it is a very simple program there are hundreds if not thousands of different ways and combinations a user could interact with the program and cause errors. That is why software is always being patched and updated. However, before releasing their program the developer should have some people who not involved in the making of the program to attend to cause errors. This is useful because often a developer misses flaws in their own program. Once those errors are fixed the program may be ready for release or publish. However, as discussed earlier, the testing is never quite finished when it comes to software. What do you think? When should the testing process begin? At what point has a program been tested enough that it is ready to be released?