People have differing perceptions and opinions about user acceptance testing and the role of the user in software testing. Acceptance testing varies from organization to organization in terms of objectives and degree of effort involved.
Acceptance testing can be one of the most volatile activities in the software development process.
User acceptance testing can be effective when conducted for the right objectives. Few organizations understand how to deal with the human aspects of testing. They also lack the necessary training to plan and conduct an effective acceptance test. A demo, which is basically a walkthrough of the completed system with the users. This walkthrough may be interactive, but the user usually does not get to identify defects in the software before it goes into production.