User acceptance testing, a testing methodology where the clients/end users involved in testing the product to validate the product against their requirements. It is performed at client location at developer's site.
For industry such as medicine or aviation industry, contract and regulatory compliance testing and operational acceptance testing is also carried out as part of user acceptance testing.
UAT is context dependent and the UAT plans are prepared based on the requirements and NOT mandatory to execute all kinds of user acceptance tests and even coordinated and contributed by testing team.
The following diagram explains the fitment of user acceptance testing in the software development life cycle:
The acceptance test cases are executed against the test data or using an acceptance test script and then the results are compared with the expected ones.
Acceptance criteria are defined on the basis of the following attributes:
Functional Correctness and Completeness
Confidentiality and Availability
Installability and Upgradability
The acceptance test activities are carried out in phases. Firstly the basic tests are executed and if the test results are satisfactory then the execution of more complex scenarios are carried out.
The Acceptance test plan has the following attributes
Acceptance Test Category
Test case ID
The acceptance test activities are designed to reach at one of the conclusions :
Accept the system as delivered
Accept the system after the requested modifications have been made
Do not accept the system
The Acceptance test Report has the following attributes:
Summary of Results
Summary of To-DO List