What is acceptance testing?
Answer
Acceptance testing (also called User Acceptance Testing — UAT) validates that the software meets the business requirements and is acceptable to the end user, customer, or stakeholder. It's the final testing phase before a product goes live. Types: Alpha testing: performed by developers/QA within the organization before external release. Beta testing: performed by a limited group of real users in a production-like environment. Contract acceptance testing: verifies the system meets a formal contract specification. Regulation acceptance testing: verifies compliance with regulations. UAT is typically manual, performed by business users (not developers). In agile, acceptance criteria are defined before development (BDD/Gherkin), and acceptance tests verify those criteria are met. Automated acceptance tests can be part of a CI/CD pipeline. The distinction from integration/system testing: acceptance testing is about business requirements; system testing is about technical requirements.