By replicating user behavior, it checks if the system satisfies business requirements and rejects changes if certain criteria are not met.
As the test conditions successfully achieve their acceptance criteria, the stakeholders are reassured the development is progressing in the right direction.
The anticipated result of a successful test execution: The objective is to provide confidence that the developed product meets both the functional and non-functional requirements.
The purpose of conducting acceptance testing is that once completed, and provided the acceptance criteria are met, it is expected the sponsors will sign off on the product development/enhancement as satisfying the defined requirements (previously agreed between business and product provider/developer).
This testing should be undertaken by the intended end user, or a subject-matter expert (SME), preferably the owner or client of the solution under test and provide a summary of the findings for confirmation to proceed after trial or review.
In software development, UAT as one of the final stages of a project often occurs before a client or customer accepts the new system.
Testers should be given real-life scenarios such as the three most common or difficult tasks that the users they represent will undertake.
If the software works as required and without issues during normal use, one can reasonably extrapolate the same level of stability in production.
Test scenarios can be broken down into logical "days", which are usually where the actor (player/customer/operator) or system (backoffice, front end) changes.
This type of testing focuses on the operational readiness of the system to be supported, and/or to become part of the production environment.
[18] Acceptance testing is a term used in agile software development methodologies, particularly extreme programming, referring to the functional testing of a user story by the software development team during the implementation phase.
This means that new acceptance tests must be created for each iteration, or the development team will report zero progress.