What is Acceptance Testing?
Acceptance testing is done by real users or customers in a production environment. It focused on a validation type of testing, whereby trying to determine whether the system is fit for purpose. Finding defects is not the main focus of acceptance testing. Its main focus is to check the system’s compliance with its business requirements. The execution of the acceptance test is done on the production environment.
Two main categories of acceptance test are prepared and executed separately where the user acceptance test focuses mainly on the functionality thereby validating the fitness-for-use of the system by the business user, while the operational acceptance test (also called production acceptance test) validates whether the system meets the requirements for operation or not.
Thus, the stages of acceptance testing performed are:
Alpha testing is done by the developer or tester at the customer site which is mostly like performing usability testing. This is done to take note of the problems faced by the user. The focus of this testing is to simulate real users by using BlackBox and WhiteBox techniques. It ensures that the user will get high-quality services in the form of complete functionalities and stability.
Beta testing is done by a limited number of end-users before delivery and the defects reported at this phase would be fixed before the official release. The customer provides inputs into the functionality and usability of a product which is important for the success of the product. It also reduces product failure risks and provides increased quality of the product through customer validation. It is the final test before shipping a product to the customers.
Objective of Acceptance Testing
- To find the defects that are missed during the Integration & System testing phase.
- To verify the product quality
- To verify the product developer is as per the customer requirement.
- To obtain feedback from the end-users which further helps in improving the product performance and user experience.
- To minimize or eliminate the issues arising in the production environment.
Prerequisites of User Acceptance Testing
Following are the entry criteria for User Acceptance Testing:
- Business Requirements are satisfied.
- Application Code is developed and tested.
- Unit Testing, Integration Testing & System Testing should be completed.
- There are Showstoppers, High, Medium defects in System.
- Only low priority issues or cosmetic error is acceptable before UAT.
- Regression Testing is completed with no major defects.
- All the critical and high priority reported defects are fixed and re-tested.
- The 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.
Requirement Testing Process:
In this step, the testing team analyzes the requirement document to find out the testable requirement. Test scenarios are further derived from the following requirement document:
- System Requirements Specification
- Business Requirements Document
- Process Flow Diagrams
- Project Charter
- Business Use Cases
Test Plan Creation:
Test Plan is created, which abstracts the whole strategy of the testing process. This strategy is used to ensure and verify if the software meets its requirements. An exit criterion for the test is also defined at this step.
Test Case and Test Data Preparation:
In this step test cases are created based on test plan documents. Test cases are created based on the requirements and designed in a way to cover most of the acceptance testing scenarios. Test Data is generated which will be as similar as live data. In most cases, testing with live data is usually done.
Test Case Execution:
Test Cases are executed with the test data generated before are executed at this step. The testing team collects input from the end-users based on which test cases are executed to ensure the software is working as expected. Any defects identified by the test team is fixed and then re-tested again.
Confirmation of objectives meet:
After the successful completion of all testing processes, the testing team confirms that the software application is good to go to production and can be delivered to the client. An official sign off mail is sent for approval.
Following are the exit criteria for User Acceptance Testing:
- Acceptance tests are executed, and all the tests should pass.
- No Critical/Major defects are left open. All the defects are fixed and verified immediately.
- It should be Signed-off-by all the included stakeholders with a release decision on the product.