User Acceptance Testing is also called Beta testing, application
testing, and end-user testing. Whatever you choose to call it, it’s where
testing moves from the hands of the IT department into those of the business
users. Software vendors often make extensive use of Beta testing, some more
formally than others, because they can get users to do it for free.
By the time UAT is ready to start, the IT staff has resolved in one way
or another all the defects they identified. Regardless of their best efforts,
though, they probably don’t find all the flaws in the application. A general
rule of thumb is that no matter how bulletproof an application seems when it
goes into UAT, a user somewhere can still find a sequence of commands that will
produce an error.
To be of real use, UAT cannot be random users playing with the
application. A mix of business users with varying degrees of experience and
subject matter expertise need to actively participate in a controlled
environment. Representatives from the group work with Testing Coordinators to
design and conduct tests that reflect activities and conditions seen in normal
business usage. Business users also participate in evaluating the results. This
insures that the application is tested in real-world situations and that the
tests cover the full range of business usage. The goal of UAT is to simulate
realistic business activity and processes in the test environment.
A phase of UAT called “Unstructured Testing” will be conducted whether
or not it’s in the Test Plan. Also known as guerilla testing, this is when
business users bash away at the keyboard to find the weakest parts of the
application. In effect, they try to break it. Although it’s a free-form test,
it’s important that users who participate understand that they have to be able
to reproduce the steps that led to any errors they find. Otherwise it’s of no
use.
A common occurrence in UAT is that once the business users start
working with the application they find that it doesn’t do exactly what they
want it to do or that it does something that, although correct, is not quite
optimal. Investigation finds that the root cause is in the Business
Requirements, so the users will ask for a change. During UAT is when change
control must be most seriously enforced, but change control is beyond the scope
of this paper. Suffice to say that scope creep is especially dangerous in this
late phase and must be avoided.
Sample Entry and Exit Criteria
for User Acceptance Testing
Entry Criteria
- Integration
testing signoff was obtained
- Business requirements
have been met or renegotiated with the Business Sponsor or representative
- UAT test
scripts are ready for execution
- The testing
environment is established
- Security
requirements have been documented and necessary user access obtained
Exit Criteria
- UAT has been
completed and approved by the user community in a transition meeting
- Change
control is managing requested modifications and enhancements
- Business sponsor agrees that known defects do not
impact a production release—no remaining defects are rated 3, 2, or 1