Beta testing also known as user testing takes place at the end users site by the end users to validate the usability, functionality, compatibility, and reliability testing.
Beta testing adds value to the software development life cycle as it allows the "real" customer an opportunity to provide inputs into the design, functionality, and usability of a product. These inputs are not only critical to the success of the product but also an investment into future products when the gathered data is managed effectively.
The following diagram explains the fitment of Beta testing in the software development life cycle:
There are number of factors that depends on the success of beta testing:
Test Cost
Number of Test Participants
Shipping
Duration of Test
Demographic coverage