User Acceptance Testing Life Cycle
Acceptance Testing 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 - Where test are conducted at the development site by the end users. Environment can be controlled a little bit in this case.
* Beta Testing - Where test are conducted at customer site and development team do not have any control on the test environment.
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.
* 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
* Acceptance decision is made for the software
* In case of any caveats, development team is notified