What is User Acceptance Testing (UAT)?

 User acceptance is a type of testing performed by the Client to certify the system with respect to the requirements that was agreed upon. This testing happens in the final phase of testing before moving the software application to Market or Production environment.

The main purpose of this testing is to validate the end to end business flow. It does NOT focus on the cosmetic errors, Spelling mistakes or System testing. This testing is carried out in separate testing environment with production like data setup. It is a kind of black box testing where two or more end users will be involved.


 Need of User Acceptance Testing:

Once a software has undergone Unit , Integration and System testing the need of Acceptance Testing may seem redundant. But Acceptance Testing is required because

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.

Acceptance Testing and V-Model

In VModel, User acceptance testing corresponds to the requirement phase of the Software Development life cycle(SDLC).

UAT in  V Model

Prerequisites of User Acceptance Testing:

Following are the entry criteria for User Acceptance Testing:

  • Business Requirements must be available.
  • Application Code should be fully developed
  • Unit Testing, Integration Testing  & System Testing  should be completed
  • No Showstoppers, High, Medium defects in System Integration Test Phase -
  • Only Cosmetic error are acceptable before UAT
  • Regression Testing should be completed with no major defects
  • All the reported defects should be fixed and tested before UAT
  • Traceability matrix for all testing should be completed
  • UAT Environment must be ready
  • Sign off mail or communication from System Testing  Team that the system is ready for UAT execution

User Acceptance Testing Process:

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:

 UAT Process


  • Analysis of Business Requirements
  • Creation of UAT test plan
  • Identify Test Scenarios
  • Create UAT Test Cases
  • Preparation of Test Data(Production like Data)
  • Run the Test cases
  • Record the Results
  • Confirm business objectives

Analysis of Business Requirements

One of the most important activities in the UAT is to identify and develop test scenarios. These test scenarios are derived from the following documents:

  • Project Charter
  • Business Use Cases
  • Process Flow Diagrams
  • Business Requirements Document(BRD)
  • System Requirements Specification(SRS)

Creation of UAT Plan:

The UAT test plan outlines the strategy that will be used to verify and ensure an application meets its business requirements. It documents entry and exit criteria for UAT, Test scenarios and test cases approach and timelines of testing.

Identify Test Scenarios and Test Cases:

Identify the test scenarios with respect to high level business process  and create test cases with clear test  steps. Test Cases should  sufficiently cover most of the  UAT scenarios. Business Use cases are input for creating the test cases.

Preparation of Test Data:

 It is best advisable to use live data for UAT. Data should be scrambled for privacy and security reasons. Tester should be familiar with  the data base flow.

Run and record the results:

Execute test cases and report bugs if any. Re-test bugs once fixed. Test Management tools can used for execution.

Confirm Business Objectives met:

Business Analysts or UAT Testers needs to send a sign off mail after  the UAT testing . After sign-off the product is good to go for production. Deliverables for UAT testing are Test Plan, UAT Scenarios and Test Cases, Test Results and Defect Log

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

Qualities of UAT Testers:


uat testers skills

UAT Tester should possess good knowledge of the business. He should be  independent, should  think as an unknown user to the system. Tester should be Analytical and Lateral thinker and combine all sort of data to make the UAT successful.

 Tester or Business Analyst or Subject Matter Experts who  understand the business requirements or flows and can prepare test and data which are realistic to the business.


 Best Practices:

Following points needs to be considered to make UAT Success:

  • Prepare UAT plan early in the  project life cycle
  • Prepare Checklist before the UAT starts
  • Conduct Pre-UAT session during System Testing phase itself
  • Set the expectation and define the scope of UAT clearly
  • Test End to End business flow and avoid system tests
  • Test the system or application with real world scenarios and data
  • Think as an Unknown user to the system
  • Perform Usability Testing
  • Conduct Feedback session and  meeting before moving to production

UAT Tools

There are several tools  in the market used for User acceptance testing and some are listed for reference:

Fitnesse tool : It is java tool used  as a testing engine. It is easy to create tests and record results in a table. Users of the tool enter the formatted input and tests are created automatically. The tests are then executed and output is returned back to the user.

Watir : It is tool kit used to automate browser based tests during User acceptance testing. Ruby is the programming language used for inter process communication between ruby and Internet explorer.


UAT is one of the many flavors of testing that has emerged over last twenty five years. With UAT , the client can be sure "What to expect" from the product rather than assuming. The benefit of UAT is that there will be no surprises when the product is released to the market.

Related Articles

comments powered by Disqus