Acceptance test is to check that the software has satisfied all customer requirements? And do customers accept the product?
UAT is performed after the system test is finished and all or most of the major bugs have been fixed. This test will be performed in the final stage of the software development life cycle (SDLC) before the system is shipped to the real environment.
2. Why do acceptance testing?
When the software has gone through unit testing, integration testing, system testing, the demand for acceptance testing may be redundant. But acceptance testing is needed because:
- Software developers rely on requirements documents, their own understanding of requirements and may not really be what customers need from the software.
- Requirements that change during the course of a project may not be effectively communicated to the developers.
3. Prerequisites of acceptance testing
The following are conditions to be met before acceptance testing:
- Business requirements must be available
- Software is the most complete development
- Unit testing, system testing should be completed
- There are no serious, high, medium errors in the system
- Only cosmetic errors are accepted before UAT
- Regression testing should be completed, without major errors
- All reported errors must be corrected and checked before UAT
- The UAT environment must be prepared
- The system developer makes sure that the system is ready to perform UAT
4. Procedure of acceptance testing
- Analysis of business requirements is to identify and build test scenarios. These test scripts are taken from the following documents:
- Project charter
- Use case business
- Process maps
- Business requirements documents
- System requirements specification
- Creating a UAT test plan is a strategic outline that will be used to test and ensure the application meets its business requirements. It records the start criteria, exit criteria for UAT, test scripts, test cases and test time.
- Identify test scenarios and create test cases related to the business process and create test cases with clear test steps. Test cases should cover most UAT scenarios. Business use cases are the input to creating test cases.
- Prepare test data should use live data for UAT. Data should be tampered with for privacy and security reasons. Testers should be familiar with the database flow.
- Running test cases is executing test cases as created with the data prepared.
- Report the result as an error report if applicable. Check again for errors when corrected. Test management tools can be used for implementation.
- Confirming business goals that UAT testers need to send initials after the UAT test. Products for UAT testing are test plans, UAT scripts, test cases, test results, error logs
5. UAT exit criteria
Before moving to production, the following factors should be considered:
- There are no critical errors in functionality and interface
- The business process works stably
- UAT meets with all stakeholders
6. Acceptance testers
- End User
7. Types of testing accepted
In the acceptance test, there are two main types:
- Alpha test : Conducted by members of software development organizations but not directly related to the project (Usually the members of the product management). The Alpha test runs the test at the software production site, which is an internal test, before the software is allowed to run a Beta test.
- Beta test : Run by an end user (usually a customer). Beta testing is done at the customer’s location, the user tests or uses the system in their own environment – not the place where the software is developed. Beta testing is one of the methods to assess customer satisfaction with the product. After experiencing the product, the customer will respond to the design, functionality and usability and this helps to evaluate the quality of the product.