Best Practice Edit
Testing should be made as automatic as possible. It's extremely helpful to write tests before you run your program and discover some bug. That way the tests are more likely to discover the root cause of a bug. With this setup in place, tests can be run as you write new code to ensure the new code has not created any new problems.
Development stages Edit
Stage at which developer testing occurs.
Software that has now passed the Alpha stage. It is a prototype that has been released to the public to gather useful feedback.
Release candidate Edit
Software is being considered for release if no serious bugs are found. if bugs are found a new release candidate will be released once they are fixed. If no major bugs are found it is released.