Acceptance testing
Acceptance testing, also known as user acceptance testing (UAT), is a formal phase of software testing in which an application is evaluated by the customer or end users to determine whether it meets their specified requirements and is fit for purpose.
Unlike earlier testing phases that focus on technical correctness or internal quality, acceptance testing is primarily concerned with whether the software delivers the functionality and behavior that was agreed upon — and whether the customer is satisfied enough to accept the product and approve it for release.
Acceptance testing represents the final validation gate before a system goes into production, and its outcomes typically determine whether a project is considered complete.
Acceptance testing encompasses two important sub-types: [alpha testing] and [beta testing], which differ chiefly in where and how they are conducted. Alpha testing takes place at the developer’s site in a controlled, closed environment, where the customer evaluates the system under the supervision of the development team — typically following the completion of system testing. Beta testing, by contrast, is conducted at the customer’s own site in a real-world, open environment, where the software is exercised under genuine operating conditions by actual users. While the presence of developers during beta testing can be helpful for capturing feedback and diagnosing issues quickly, it is not a requirement.
Together, alpha and beta testing allow defects and shortcomings to be identified from the customer’s perspective before the product is formally released.