User
Acceptance Testing: Is It or Isn't It? printer-friendly
By
Randall
W. Rice
Is it or isn't it testing, that is. People have
differing perceptions and opinions about user acceptance testing and
the role of the user in software testing. While some see user
acceptance testing as a formality to be performed before the software
is released for production or "live" use, others depend on acceptance
testing to assure that the right system has been built for their
application.
After sifting through all of the varieties of
acceptance testing, I have the following observations:
- 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.
User acceptance testing can take the form of:
1. 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.
2. A test which a repeat of some previous phase of
testing, such as unit, system, or integration testing. Or, the test is
the system test performed by users. In either scenario, acceptance
testing at this level focuses on the correctness of the software as
defined by the requirements. Repeating any test already performed by
developers is redundant and usually misses the objectives of an
acceptance test.
3. A constructive test of the software from a
business perspective. In other words, the users are asking "Will this
software work in our daily business environment?"
Of the three varieties of user acceptance testing
just listed, the third approach is most effective if you want to
perform a test that determines if the system will meet business needs.
If you simply want to let the users see what kind of system they are
going to get, then the demo approach is probably the best to use.
5 Ways to Make User Acceptance Testing
Successful
User acceptance testing can be a challenge. Here
are some ways to give yourself an edge on success.
1. Keep everyone informed of the issues
and resolutions. Good communication is essential for the
timely resolution of defects and identifying issues. When people
(including management) are not kept up to date on testing issues they
make decisions based on incomplete information.
2. Resolve conflict in a win/win manner.
Any other resolution is bad in the long-term. Users should feel they
have a solution that will work well in the organization and developers
should not be put through difficult technical resolutions to solve
minor problems.
3. Plan the test so it is controllable and
repeatable. This is essential if you want to know the
progress of the test or how to recreate a defect.
4. Take care of your user testers.
Remember, these people have other work responsibilities. Daily work
combined with testing responsibilities can lead to long hours and high
levels of frustration. Keep an eye on burn-out.
5. Pass decisions on controversial issues
upward. User testers should not be required to make policy
decisions. Leave those calls to upper management.
User acceptance testing can be effective, and even
considered a necessity on many projects. Users provide a valuable
source of test data and business knowledge that can be applied from a
functional perspective. To find out more about training and approaches
for user acceptance testing, e-mail me.
All materials on this site
copyright 1996 - 2008, Rice Consulting Services, Inc.
Rice
Consulting Services, Inc.
P.O. Box 892003
Oklahoma City, OK 73189
405-691-8075
"Leaders
are made, they are not born. They are made by hard effort,
which is the price which all of us must pay to achieve any goal that is
worthwhile." -- Vince Lombardi

This site best
viewed with the Mozilla Firefox
browser!
|