User Acceptance Testing - UAT
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:
- 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.
UAT and V-Model
In V-Model, user acceptance testing corresponds to the requirements phase of the Software Development lift cycle:
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.
- 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:
- Business Requirements must be available
- Application Code should be fully developed
- Unit Testing, Integration Testing & System Testing should be completed
- No Show stoppers, or High or Medium defects in the System Integration Test Phase
- Only Cosmetic errors are acceptable before UAT
- Regression Testing should be completed with no major defects
- All the reported defects should be fixed and tested
- 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 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:
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
- Dependency injection
- Directives and Pipes
- Data binding
- HTTP Get vs. Post
- Node.js is everywhere
- MongoDB root user
- Prefer Async Script Loading
- Components, Bootstrap and DOM
- What is HEAD in git?
- Show the changes in Git.
- What is AngularJS 2?
- Confidence Interval for a Population Mean
- Accuracy vs. Precision
- Sampling Distribution
- Working with the Normal Distribution
- Standardized score - Z score
- Evaluating the Normal Distribution
- What is Nodejs? Advantages and disadvantage?
- How do I debug Nodejs applications?
- Sync directory search using fs.readdirSync