A beta version or beta release usually represents the first version of a computer program that implements all required features although additional features may be added. It is likely to be unstable but useful for internal demonstrations and previews to select customers, but not yet ready for release. Some developers refer to this stage as a preview, as a technical preview (TP) or as an early access.
Often this stage begins when the developers announce a feature freeze on the product, indicating that no more features requirements will be accepted for this version of the product. Only software issues, or bugs and unimplemented features will be addressed.
Beta versions stand at an intermediate step in the full development cycle. Developers release them to a group of beta testers (sometimes the general public) for a user test. The testers report any bugs that they found and sometimes minor features they would like to see in the final version.
For example in September 2005, Microsoft started releasing regular Windows Vista Community Technology Previews (CTP) to beta testers. The first of these was build 5219. Subsequent CTPs introduced most of the planned features, as well as a number of changes to the user interface, based in large part on feedback from beta testers. Windows Vista was deemed feature complete with the release of build 5308 CTP, released on February 22, 2006, and much of the remainder of work between that build and the final release of the product will focus on stability, performance, application and driver compatibility, and documentation.
When a beta becomes available to the general public it is often widely used by the technologically savvy and those familiar with previous versions as though it were the finished product. Usually developers of freeware or open-source betas release them to the general public while proprietary betas go to a relatively small group of testers. In February 2005, ZDNet published an article about the recent phenomenon of a beta version often staying for years and being used as if it were in production-level [1]. It noted that Gmail and Google News, for example, had been in beta for a long period of time and were not expected to drop the beta status despite the fact that they were widely used; however, Google News did leave beta in January 2006. This technique may also allow a developer to delay offering full support and/or responsibility for remaining issues. Recipients of highly proprietary betas may have to sign a non-disclosure agreement.
A release is called feature complete when the development team agrees that no new features will be added to this release. New features may still be suggested for later releases. More development work needs to be done to implement all the features and repair defects.
As the second major stage in the development cycle, following the alpha stage, it is named after the Greek letter beta, the second letter in the Greek alphabet.
The term beta test applied to software follows from an early IBM hardware development convention dating back to punched card tabulating and sorting machines. Hardware first went through an alpha test for preliminary functionality and manufacturing feasibility. Then a beta test to verify that it actually correctly performed the functions it was supposed to, and then a c test to verify safety. With the advent of programmable computers and the first sharable software programs, IBM used the same terminology for testing software. Beta tests were conducted by people or groups other than the developers. As other companies began developing software for their own use, and for distribution to others, the terminology stuck and now is part of our common vocabulary.