After all the levels of testing is completed, the last and final testing level is User Acceptance Testing(UAT). It is done by the user or the client who is going to use the system as the end user. User acceptance testing process helps to identify the practical defects which were not identified during other phases of testing. Here the testing is carried out in terms of the practical approach without considering the technical specification of the software.
Lets assume a mobile based application is under UAT here the end user will be asked to test the app. The end user may not be a technical expert about the app but he has some need to use that app. So he will test the app as per his needs without considering technical specifications of it. He will use the app in a manner to help him in resolving his problem or satisfying his needs. Testing team can help him to understand how to operate the system or with the basic operations of the system.
UAT can be done in two ways first being Alpha Testing, inviting the customer to our location and asking to test the software in a simulated environment which resembles the actual environment. Guidelines will be given to the customer about handling the software and it will be tested. Second is providing an evaluation copy of the software to the customer and asking him to test it in his own location, i.e, a beta version will be released and then the software will be used by the end users and the defects identified will be notified to the corresponding development team and it will rectified. This method is called beta testing.