No matter what methodology you follow for the development of your application, there must be a testing phase to make sure your application works properly. One part of the testing process is Acceptance Testing. Acceptance testing is usually done after the development of an application and system testing of the application have been completed.
This article will cover:
- What is acceptance testing
- The different types of acceptance testing
What is Acceptance Testing?
Early in the software development life cycle, the customer/business owner gives requirements expected for the application. After the completion of system/end-to-end testing is done by the testing team, the application is then given to the stakeholders(customer/business/product owner) to analyze and sign off on. They test their initial requirements, as well as other end-to-end testing, flows against the application. They also analyze how the product meets business goals as well as other rules and regulations.
This phase of testing will be done in a production-like environment. The production-like environment is the closest thing to the production environment that is available. This may be called the UAT, Staging, or PrePod environment. The tests in this phase may have been covered by the testing team in system testing in the previous testing, but the stakeholders(customer/business/product owner) doing this final set of testing themselves gives them a final layer of confidence in the product before it is officially released for all of the end-users to use. Any problem, bugs, or discrepancies with the requirements and current application should be communicated as soon as possible and given the highest priority.
The different types of acceptance testing
- Alpha & Beta Testing- Alpha tests aim to spot any obvious defects and are internal. Beta tests, also known as field tests, occur in the customer’s environment and are the tests of a product before it goes into production and is external.
- Contract Testing- Testing the application against predefined criteria and specifications that are agreed on in a contract
- Regulation Testing- Testing that the application complies with government and legal regulations. This is also known as compliance testing.
- Operational Testing- Testing that the workflows, including backup plans, user training, security checks, and maintenance processes, are in place to allow the application to be used.