Acceptance testing, which is also known as User Acceptance Testing, is where the end user would verify the functionality of a system before accepting it. As you do software development in an agile environment, you will continuously offer new developments to the system. At every release, the user will do acceptance testing and confirm that you have developed the system as per the initial requirements of the client.
The primary goal of UAT is to verify the end-to-end business process. It is not concerned with aesthetic flaws, misspellings, or system testing. User Acceptance Testing is performed in a separate testing environment with data that is similar to that used in production. Two or more end-users will be participating in this type of black box testing.
User Acceptance Testing is done by the client and end users. However, there are situations where the development team does a demonstration of the developed functionality and show it to the client.
After software has undergone Unit, Integration, and System testing, the need for User Acceptance Testing arises because developers may have built software based on requirements documents based on their own understanding, and further required changes during development may not have been effectively communicated to them, so user acceptance testing is used to determine whether the final product is accepted by the client/end-user.
There are multiple steps in a user acceptance test. They start from analyzing business requirements and creating test plan. Then you will discover the test scenarios and create testcases. Along with that, you will also prepare test data. The next step is to run all test cases and record results. As you run the test cases, you confirm business objectives as well. Clients and end users do this and verify that software is developed as per the initial requirement.
— Slimane Zouggari