What is User Acceptance Testing

According to Techopedia:

User Acceptance Testing (UAT) is the last phase of the software testing process. During UAT, actual software users test the software to make sure it can handle required tasks in real-world scenarios, according to specifications.

UAT is one of the final and critical software project procedures that must occur before newly developed software is rolled out to the market.


User acceptance testing (UAT), also known as Beta testing, Application testing or End-user testing, is often considered the last phase in the web development process, the one before final installation of the software on the client site or final distribution of it.

Why need UAT

Once a software has undergone Unit, Integration and System testing, the need of AUT may seem redundant. But UAT is required and very important becasue:

User acceptance testing - why need UAT

  1. Developers code software based on requirements document which is their "own" understanding of the requirements and may not actually be what the client needs from the software.
  2. Requirements changes during the course of the project may not be communicated effectively to the developers.

UAT and V-Model

In V-Model, user acceptance testing corresponds to the requirements phase of the Software Development lift cycle:

User acceptance testing - UAT and V-Model

Who Performs UAT?

UAT directly involves the intended users of the software. The most important peer group to include in UAT testing are “real” end users of your software. Every role and stakeholder group should be included which means that people from each group should be selected to join the UAT team.

  • Client
  • End users

When should you start UAT

UAT is essential, typically, but it is not able to be undertaken until the application is largely feature complete. The following 10 prerequisites, which must be met, before UAT can begin. These are:

  1. Business Requirements must be available
  2. Application Code should be fully developed
  3. Unit Testing, Integration Testing & System Testing should be completed
  4. No Show stoppers, or High or Medium defects in the System Integration Test Phase
  5. Only Cosmetic errors are acceptable before UAT
  6. Regression Testing should be completed with no major defects
  7. All the reported defects should be fixed and tested
  8. Traceability matrix for all testing should be completed
  9. UAT Environment must be ready
  10. Sign off mail or communication from System Testing Team that the system is ready for UAT execution

How to Performs UAT?

UAT can be implemented by making software available for a free beta trial on the Internet or through an in-house testing team comprised of actual software users.

UAT is done by the intended users of the system or software. This testing usually happens at the client location which is known as Beta Testing. Once Entry criteria for UAT are satisfied, following are the tasks need to be performed by the testers:

User acceptance testing - how to perform UAT

Exit criteria for UAT

Before moving into production, following needs to be considered:

  • No critical defects open
  • Business process works satisfactorily
  • UAT Sign off meeting with all stakeholders

References & Resources

  • http://www.guru99.com/user-acceptance-testing.html