The acceptance test is the last step before deploying the software. Acceptance testing confirms that the software is ready and capable of performing the functions and tasks for which it was designed. Implementing an acceptance test involves three common strategies. Here they are:
· Formal acceptance
· Informal acceptance or alpha test
· Beta test
It is often necessary to select a strategy based on contractual requirements, organizational and corporate standards, and the application domain.
The formal acceptance test is an extension of the system test and is a highly managed process. Testing is planned and designed as carefully and in detail as system testing. A subset of the test cases selected for system testing should be selected. Don't deviate from your chosen test cases in any way. It is common for formal testing acceptance to be fully automated in many organizations.
As with system testing, the tasks and work products are the same. Some organizations perform acceptance tests with representatives of both the development organization and the end-user organization. The end-user organization or an objective group of people selected by the end-user organization may perform acceptance testing entirely.
This type of testing has the following benefits:
· Test functions and features are known.
· Test details are known and can be measured.
· Regression testing is possible with automated tests.
· Test progress can be measured and monitored.
· There is a clear understanding of the criteria for acceptability.
The test procedures for informal acceptance testing are less rigidly defined than those for formal acceptance testing. A list of functions and business activities to be explored is outlined and documented, but there are no specific test cases to follow. Testing is determined by the individual tester. Testing acceptance in this manner is not as controlled as formal testing and is more subjective.
The end-user organization is most likely to perform informal acceptance testing.
This type of testing has the following benefits:
· Test functions and features are known.
· It is possible to measure and monitor the progress of the tests.
· It is known what the acceptability criteria are.
· Formal testing acceptance will uncover fewer subjective defects.
The beta test is the least controlled of the three acceptance test strategies. Each beta tester determines how much detail, how much data, and how the test will be conducted. As part of the testing process, each tester creates his or her own environment, selects his or her data, and decides which features, functions, or tasks to explore. It is up to each tester to decide whether or not to accept the system as it is.
Most beta tests are initiated by users, with little or no involvement from development (or other non-end-user) organizations. All acceptance test strategies are subjective, but beta testing is the most subjective.
This type of testing has the following benefits:
· Users implement testing.
· There are a large number of potential test resources available.
· Participating customers are more satisfied.
· A subjective acceptance test uncovers more defects than a formal or informal acceptance test.
We use acceptance tests as the primary tool to ensure that we fulfill our business goals in behavior-driven development. Contact QA Genesis today to learn more about Acceptance testing, beta testing & Alpha Testing.