What is UAT?
Stands for “User Acceptance Testing“. UAT is a process or a phase of software development in which we test the software in the “real world” by the target audience. It is also the application testing and end-user testing. It involves running a product through a series of specific tests that help indicate whether or not the product will meet the needs of its users.
A type of testing that the Client performs to certify the system with respect to the agreement and requirements. This testing happens in the final phase of testing before moving the software application to the Market or Production environment.
To validate the end to end business flow is the main purpose of this kind of testing. It does NOT focus on cosmetic errors, Spelling mistakes, or System testing. This testing is carried out in a separate testing environment with a production-like data setup. It is a kind of black box testing where two or more end-users will be involved.
Who performs user acceptance testing?
In UAT, users have the chance to interact with the software before the official release and see if any features have been overlooked or contain bugs. You may do UAT by in-house testing in which volunteers or paid test subjects use the software. They may also do this by making the test version available for downloading a free trial over the Web. We then forward back the experiences of early users to the developers who make final changes before releasing the software commercially.
Why UAT is in need?
The need for User Acceptance Testing may seem redundant once software has undergone Unit, Integration, and System testing. There are a number of main reasons why user acceptance testing is important:
◾ 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.
◾ Developers have included features on their “own” understanding.
◾ Requirements changes during the course of the project may not be communicated effectively to the developers.
Five Types Of User Acceptance Testing
The following User Acceptance Testing Types exist:
➡Alpha & Beta Testing
The Alpha and Beta Testing are done before the software is released to all customers.
- ALPHA TESTING – Normally takes place in the development environment and is usually done by internal staff.
- BETA TESTING – Also known as “field testing,” takes place in the customer’s environment and involves some extensive testing by a group of customers who use the system in their environment.
➡Contract Acceptance Testing
Means that developed software is tested against certain criteria and specifications which are predefined and agreed upon in a contract.
➡Regulation Acceptance Testing
Also known as Compliance Acceptance Testing examines whether the software complies with the regulations. This includes governmental and legal regulations.
➡Operational Acceptance Testing
Also known as Operational Readiness Testing or Production Acceptance Testing, these test cases ensure there are workflows in place to allow the software or system to be used.
➡Black Box Testing
It’s a method of software testing that analyzes certain functionalities without letting testers see the internal code structure.
Acceptance tests are useful because they capture user requirements in a directly verifiable way. They also identify problems which unit or integration tests might have missed. And they provide an overview of how “complete” the system is.