Software development is often performed in stages. Each of these stages requires different test approaches, types of testing, depth of verification and requirements. Stages of development should be clearly agreed and understood by all participants of the development process in a software testing company.
Alpha Phase. It's such a stage, where the major part of the development is complete, but some engineering work is still in process. The project may be available for internal software testing and use. The project has a lot of bugs that need to be tested.
Pre-beta Phase. The build is tested for the criteria and conditions for admission to the beta stage.
Beta Phase. The beta development stage is a stage when all or almost all product features and customer requirements are implemented. The software product is ready and stable. It is used for the demonstration to customers and for the testing but is not actually used by the clients. The product may have software bugs that were not found and fixed in the alpha phase. Changes and adjustments of customers can still be added to the application.
User Interface Freeze. All user interface elements have been completed. The purpose of this stage is to make sure that the user interface and other elements have been reviewed by customers and will not go through further changes. While this phase is complete, the work can be continued without the risk of major changes in the project.
Golden master candidate. GMC is the final element of the beta phase. The beta version of the application is ready to be released. After the golden master candidate is verified successfully, it becomes a golden master or release.
Final Phase. This is the final phase of testing when all the efforts of beta testing are done. After this stage, the application is ready to be published for public access.
Golden master. After the build being approved by the customers, it is ready for release.