User Acceptance Testing (UAT) is the formal testing conducted to determine whether a software system satisfies its acceptance criteria and to enable buyer to determine whether to accept the system or not, Acceptance testing is designed to determine whether software is fit for use or not. Apart from functionality of application, other factors related to business environment also plays an important role
User acceptance testing is different from System Testing. System testing is invariably performed by the development team which includes developer and tester. User acceptance testing on the other hand should be carried out by the end user. This could be in the form of
- Alpha Testing - In Alpha Testing, the users are invited at the development center where they use the application and the developers note every particular input or action carried out by the user. Any type of abnormal behavior of the system is noted and rectified by the developers
- Beta Testing - In Beta Testing, the software is distributed as a beta version to the users and users test the application at their sites. As the users explore the software, in case if any exception/defect occurs that is reported to the developers. Beta testing comes after alpha testing. Versions of the software, known as beta versions, are released to a limited audience outside of the company. The software is released to groups of people so that further testing can ensure the product has few faults or bugs. Sometimes, beta versions are made available to the open public to increase the feedback field to a maximal number of future users
In both the cases, these testing might be assisted by software testers.
It is very important to define acceptance criteria with the buyer during the various phases of SDLC. A well defined acceptance plan will help development/QE teams by identifying user’s need during software development. Acceptance Test plan must be created or reviewed by customer. Development team and customer should work together and make sure that they have
- Identify interim and final products for acceptance, acceptance criteria and schedule.
- Plan how and by whom each acceptance activities will be performed.
- Schedule adequate time for buyer’s staff to examine and review the product
- Prepare the acceptance plan.
- Perform formal acceptance testing at delivery
- Make a decision based on the results of acceptance testing.
Entry Criteria
- System Testing is completed and defects identified are either fixed or documented.
- Acceptance plan is prepared and resources have been identified.
- Test environment for the acceptance testing is available
Exit Criteria
- Acceptance decision is made for the software
- In case of any caveats, development team is notified