I'm sure as you've cruised around web you've run across term "beta release" or "beta test version" or something to that effect. You may also have heard "alpha test" or "public preview" and other similar terms. What heck do these terms mean?
All well managed product development projects are split into multiple phases, each distinct and each with it's own goals. Generally you begin with a proof of concept, request for proposal, short analysis or things like this. You follow this short cycle with a longer analysis, then a design specification, and finally you implement program. This consists of actual coding of programs and might include documentation as well.
Now you've got a finished project, and what you are supposed to do next is a quality assurance step. Generally, you want to test and test and test until program (or application system) exactly meets design specification (which should be treated as a sacred document) and associated standards manuals. It is critical to note that testing is done against specification and standards manual and nothing else at this phase of project.
When and only when you complete this testing and product 100% does what it was designed to do, then you create what is called an alpha test. This consists of sending code to a select group of users who will pound on product. Their job is to ensure that product works in field under conditions outside of your lab.
Once your product has been tested by some alpha testers, you may want to take some time to correct any issues, then perhaps send it out to alpha testers again. You might repeat this step one or two times until number of bugs found is significantly reduced.
Your next step is to widen group of testers greatly. This is called a beta test, and in it's purpose is to ensure your product works on an even wider base of computers. The theory is you cannot duplicate all conditions in your lab, and alpha testers are purposely kept to a small, very manageable group.