What is User Acceptance Testing?
User Acceptance Testing (UAT) – also called beta testing, application testing, and/or end user testing – is a phase of software development in which the software is tested in the “real world” by the intended audience or a business representative. Whilst the technical testing of IT systems is a highly professional and exhaustive process, testing of business functionality is an entirely different proposition.
When is UAT performed?
UAT is a last step before product goes to the production, it performs after product is thouroughly tested.
Who performs this?
- End user
How is UAT Performed?
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:
- Planning: The UAT strategy is outlined during the planning step.
- Designing test cases: Test cases are designed to cover all the functional scenarios of the software in real-world usage. They are designed in a simple language and manner to make the test process easier for the testers.
- Selection of testing team: The testing team is comprised of real world end-users.
- Executing test cases and documenting: The testing team executes the designed test cases. Sometimes it also executes some relevant random tests. All bugs are logged in a testing document with relevant comments.
- Bug fixing: Responding to the bugs found by the testing team, the software development team makes final adjustments to the code to make the software bug-free.
- Sign-off: When all bugs have been fixed, the testing team indicates acceptance of the software application. This shows that the application meets user requirements and is ready to be rolled out in the market.
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
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 is one of the many flavours 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.