User Acceptance Testing (UAT) – also called beta testing, application testing, and/or end user testing – is a phase of software development in which the software is tested in the “real world” by the intended audience or a business representative.
“The goal of User Acceptance Testing is to assess if the system can support day-to-day business and user scenarios and ensure the system is sufficient and correct for business usage.”
User Acceptance Testing (UAT) does three things for a software development project:
- It measures how compliant the system is with the business requirements.
- It exposes functionality/business logic problems that unit testing and system testing have missed out since unit testing and system testing do not focus much on functionality/business logic testing.
- It provides a means of determining how “done” the system is.
In reality, by the time the UAT starts, contracts have been signed and money has been spent. So,user acceptance testing is not an “accept or reject” proposition any more. UAT is rather more about finding gaps between “how the completed system works” and “how business operational processes are performed”.