I want to deploy my software in different environment and provide features phase by phase. When and where should I use alpha and beta version?
Alpha Release - This is the release when the feature which you are developing is incomplete or partially complete. Suppose in a Ticket booking system you have developed the seat selection but the payment implementation is remaining. In this case you can release it to testers to test the initial phase of feature. Lot of Open source products do their Alpha release.
Beta Release - This release is done when the product feature is complete and all the development is done but there are possibilities that it could contain some bugs and performance issues.This release mostly done to users who test the product and who can report the bugs. Even UAT (User Acceptance Testing) phase could be considered as Beta release.
For more details read the below wiki- https://en.wikipedia.org/wiki/Software_release_life_cycle