During the development of any computer product, but with particular relevance to software, the stage is reached near completion of the development, at which the product is tested prior to commercial release.
The developer will firstly test the product in-house to check that the functionality and all other details of the product specification have been met.
Such in-house testing is important, but irrespective of how rigorous it is it may, in many situations, prove inadequate to properly assess how the product will perform in a real end-user environment.
Therefore, in order for the developer properly to test the product in such an environment prior to general commercial release, the developer needs to seek the assistance of end-users willing to use the product in their own work environment and spend some time in assessing the product in that live situation.
Usually, such end-users are existing customers of the developer with whom the developer has a good working relationship and who perhaps wish to have the product when the same is released commercially. Such a test environment is known in the industry as “Beta Testing” and the location known as a “Beta Test Site”.
Beta testing is similar to evaluation (see Explanatory Note to Contract 51) in that the product is being evaluated albeit for a different reason.
During Beta testing or upon completion, the beta tester is required to report its findings, opinions and indeed, perhaps also its recommendations, to the developer so that the developer can determine whether or not the product is ready for commercial release or whether further work is required.
Since the product is not technically complete, the developer must ensure that the beta tester is aware that it may not function properly and that it must not be relied on by the tester in its business decisions. The developer must also ensure that it does not become liable for such tester’s use.