User Acceptance testing is a software testing method which is used to ensure that the software being developed is satisfying the functional and performance requirements of the end user.
This is the last phase of the software testing process and one of the final stages of a software project as it occurs after the Unit, Integration and system testing. The development of the software should also be completed to start the user acceptance testing.
The end users of the software otherwise known as the intended users of the software will test the software system in the end user environment (the real world environment) to comply with the software specification. And issues will be reported to the software developers.
Since the acceptance testing is done by the intended users of the software in a real world environment, UAT testing helps to ensure that the software is fulfilling the customer expectation and also gives confidence with the software being developed to the customer.