Like System Testing, Acceptance Testing deals with behavior and capabilities of a whole system or product. It ensures confidence in the quality of the system as a whole and validates that the system is complete and will work as expected.
Defects may be found during acceptance testing, but finding defects is often not
an objective. Acceptance testing may also satisfy legal or regulatory requirements or standards. It is generally presented to the end user or the customer.
There are different acceptancce testing types:
- User acceptance testing: validates usability of the system by intended users in a real or simulated operational environment. Objective is building confidence that the users can use the system to meet their needs.
- Operational acceptance testing: validates system administrators tasks, builds confidence that the operators or system administrators can keep the system working properly for the users in the operational environment, even under exceptional or difficult conditions This test focuses on operational aspects like:
- Testing of backup and restore
- Installing, uninstalling and upgrading
- Disaster recovery
- User management
- Maintenance tasks
- Data load and migration tasks
- Checks for security vulnerabilities
- Performance Testing
- Contractual and regulatory acceptance testing: performed by users or by independent testers, sometimes with the results being witnessed or audited by regulatory agencies and verifies contract’s acceptance criteria. This test types are needed when developping a product for 3rd party organizations or gavernment entities. Usually there is a contract precising the acceptation criteria and to make it unbias it requires an independed test performance.
- Alpha and beta testing: used by developers of commercial off-the-shelf (COTS) software who want to get feedback from potential or existing users, customers, and/or operators before the software product is put on the market. Alpha testing is performed at the developing organization’s site, not by the development team, but by potential or existing customers, and/or operators or an independent test team. Beta testing is performed by potential or existing customers, and/or operators at their own locations. Beta testing may come after alpha testing, or may occur without any preceding alpha testing having occurred. Alpha and Beta test is used for commercial products. One onjective is to build confidence that the product can operate under user’s conditions and environments with minimum difficulty, cost and risk. Usually, these conditions are difficult to replicate by the development team.