Beta testing is performed by actual users or customers at their own location using the software in their real environment. This differs from alpha testing (done at the developer's site) and allows testing in diverse, real-world conditions. Independent test teams typically perform system or acceptance testing, not beta testing. Beta testing is particularly valuable for commercial software rather than bespoke/custom software.