User Acceptance testing (UAT) testing is completed by the end user or could also be the client to verify or could also be accept the software system before moving the software application to the assembly environment. UAT is completed in the last phase of testing after functional and, integration and system testing. If not the real end user, it can also be tested from end user perspective.
What is the main aim of UAT?
The main purpose of UAT is to validate end to end business flow. It doesn’t specialise in cosmetic errors, spelling mistakes or system testing. User Acceptance Testing is completed in a separate testing environment with production like setup. It is a type of Black-box testing where two or more end users are going to be considered.
Who performs UAT?
The User acceptance testing, is a testing methodology where the clients/end users involved in testing the product to validate the product against their requirements. It is performed at client location or at developer’s site.
For industry like medicine or aviation industry, contract and regulatory compliance testing and operational acceptance testing is additionally done out as a part of user of user acceptance testing.
- Functional correctness and completeness
- Data integrity
- Data conversion
- confidentiality and availability
- Installability and upgradability
Why the user acceptance testing is needed?
We need user acceptance testing once the unit testing, integration and system testing has been completed because the software developers may build the software supported on requirements document by their own understanding and further required changes during development might not be effectively communicated to them so for testing whether the ultimate product is accepted by the client/end-user, user-acceptance testing.
The prerequisites of User Acceptance Testing:
The following are the steps of entry criteria for User Acceptance testing:
- Business requirements can often be available
- Application code must be fully developed
- Unit testing, integration testing and system testing should be completed
- Here high, medium defects in system integration test phase should be closed
- Only cosmetic errors should be identified during UAT.
- Regression Testing should be completed with large defects.
- Traceability matrix for all testing should be completed.
- UAT environment must be ready.
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 Beta Testing. Once entry criteria for UAT is satisfied, following are tasks need to be performed.
- Analysis of Business
- Creation of UAT test plan
- Identify the scenario
- Create UAT Test cases
- Preparation of test data
- Run the test cases
- record the results
- confirm business activities
- Analysis of Business requirements-
It is the foremost activity within the UAT to spot and develop test scenarios.These test scenario are derived from the subsequent documents.
- Project charter
- Business use cases
- process flow diagrams
- Business Requirements Documents
- System requirements specification
- Creation of UAT Plan- The test plan outlines of strategy which will be required to verify and makes sure an application meets its business requirements. It documents entry and exit criteria for UAT, Test scenarios and test approaches and timeliness of testing.
- Identify test scenario and test cases- Identify the test scenario with reference to high-level business process and make test cases with clear test steps. Test Cases should sufficiently cover most of the scenarios.
- Preparation of test data- It is advisable to use the live data for UAT. Data should be jumbled for privacy and security. Tester should be conversant in the database flow.
- Run and record the results- Executing the test cases and report bugs if any. Re-test bugs once fixed.
- Confirm business objective: Business Analyst or UAT Testers must send a sign-off; the merchandise is to go production. Deliverables for UAT testing are test plan, UAT Scenarios and also test cases, test results and defect log.