Written By

Samantha

February 25, 2020 - 2 min read

What is User Acceptance Testing? 

 

User Acceptance Testing (UAT), also known as End-User, Application or Beta Testing, is the final phase of the testing process ahead of release, installation or distribution of the software.

 

During this phase, actual software users test the software to make sure it works as expected in real-world and day-to-day business scenarios in accordance with the specifications. 

 

The steps in conducting User Acceptance Testing include:

 

  1. Planning – a plan outline all details of the UAT is produced
  2. Designing Test Cases – test cases are designed and defined cleared so that they will cover all the functional scenarios of the software in real-world usage. 
  3. Selection of the Testing Team – a testing team made up of end-users is created.
  4. Executing Test Cases and Documenting – the testing team executes the test cases, logging bugs and comments. 
  5. Bug Fixing – the development team resolves the bugs reported by the Testing Team
  6. Sign Off – when all of the bugs have been fixed, the Testing Team indicates acceptance that the software meets user requirements and is ready to be released.

 

Prerequisites of UAT

 

There are 10 accepted prerequisites for User Acceptance Testing according to Guru99:

 

  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 Showstoppers, High, Medium defects in System Integration Test Phase –
  5. Only Cosmetic error is acceptable before UAT
  6. Regression Testing should be completed with no major defects
  7. All the reported defects should be fixed and tested before UAT
  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

 

Types of UAT

 

There are 5 different types of User Acceptance Testing.

 

  • Alpha & Beta Testing 
  • Contract Acceptance Testing
  • Regulation Acceptance Testing
  • Operational Acceptance Testing
  • Black Box Testing

 

How does User Acceptance Testing differ from Functional Testing? 

 

User Acceptance Testing consists of test steps which verify that specific requirements are working for the end-user. UAT focuses on how well the client can use the product to complete the required tasks. 

 

Functional Testing tests specific requirements and specifications of the software but it lacks the user component. While a functional test might conclude that software behaves as expected it won’t verify that it will actually work for the user.

 

UAT within an Agile Framework

 

In the Agile framework, a Product Backlog is composed of user stories. User stories describe the user, the feature they want to use and the reason they need it.

 

  • As a (user),
  • I want (a feature)
  • So I can (reason of need/business benefit)

 

This provides valuable guidelines for User Acceptance Testing. The feature has been clearly defined by who needs it and why. The acceptance criteria should become apparent during Backlog Refinement. During Backlog Refinement the Product Owner and Development Team collaborate on the details of user stories, including acceptance criteria. Additional user acceptance testing criteria may also be defined for functional or non-functional features. 

An increment is only considered to be done when it’s a working (i.e. it’s fully tested) piece of software that fulfils the customer need, has the feature(s) that the customer wanted, and meets all the acceptance criteria.

 

 

 

Read More

Insight
When the Business of the GDPR Gets Personal

Under GDPR any data that can be linked to an individual is potentially under the watch of the legislation. In other words, if a snippet of b…

Insight
A How-to Guide to Being Secure by Design

The importance of building security into system design from the outset…

Insight
Custom vs SaaS – Which Solution is Right for your Business?

Could custom software development actually cost less than software as a service solutions? …