What is UAT?

User Acceptance Testing (UAT) is a type of testing performed by the end user or the client to verify/accept the software system before moving the software application to the production environment. UAT is done in the final phase of testing after functional, integration and system testing is done.

Purpose of UAT

The main Purpose of UAT is to validate end to end business flow. It does not focus on cosmetic errors, spelling mistakes or system testing. User Acceptance Testing is carried out in a separate testing environment with production-like data setup. It is kind of black box testing where two or more end-users will be involved.

Who Performs UAT?

  • Client
  • End users
Performs of UAT image

Need of User Acceptance Testing

Need of User Acceptance Testing arises once software has undergone Unit, Integration and System testing because developers might have built software based on requirements document by their own understanding and further required changes during development may not be effectively communicated to them, so for testing whether the final product is accepted by client/end-user, user acceptance testing is needed.

What is User Acceptance Testing (UAT)?
  • 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.
  • Requirements changes during the course of the project may not be communicated effectively to the developers.
Acceptance Testing and V-Model image

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 is 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

How to do UAT Testing

UAT is done by the intended users of the system or software. This type of Software 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 Testing process image

Qualities of UAT Testers:

What is User Acceptance Testing (UAT)?

UAT Tester should possess good knowledge of the business. He should be independent and 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 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:

Fitness tool: It is a 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 the output is returned back to the user.

Watir : It is toolkit 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.

Leave a comment

Your email address will not be published. Required fields are marked *