Disciplines > Test > Concepts > Usability Testing

Usability Testing evaluates the system from the perspective of the end user.  Usability testing includes the following types of tests:

Usability testing is not a substitute for good design - it is most effective when combined with User-Centered Design (see: Concepts: User-Centered Design).

Usability Testing should start early.  Early user testing means early prototyping, typically drawings and mockups described as low-fidelity prototypes. Hi-fidelity prototypes will follow later in the process (see: Activity: Prototype the User Interface).

Testing User-Interfaces

It is immensely important to expose the user-interface to others. As the design and implementation of the interface progresses, you expose the design to increasing numbers of reviewers, including:

  • other project members
  • external usability experts
  • users

To get valuable feedback, you don't always have to go through full-blown use tests where real users perform real tasks. An important class of user-interface defects are caused by the "home blindness" of the user-interface designer: anyone who wasn't involved in the user-interface design should be able to most identify these defects.

Exposing the Design to Other Project Members

This is an underestimated way of exposing the design. It has a very fast turnaround time: project members are already familiar with the application, and they are usually available for a spontaneous usability session with tremendous ceremony or formality. User-interface designers should do this continuously during the design activity, to cure their own "home blindness."

Exposing the Design to External Usability Experts

A good usability expert can help to reduce development effort by pointing out common usability flaws, and will usually offer other perspectives on the user interface based on experience. It can thus be of value to involve external usability experts earlier in the user-interface design work so that you have sufficient time to refactor the design to incorporate their recommendations.

Exposing the Design to Users

Exposing prototypes to users is generally good use of your time. Because access to users is often limited, it is worth getting feedback on prototypes when the opportunity arises. Do this as often as necessary to gain the stakeholders' approval and to correct any misinterpretation of the stockholders' needs. This can occur either during requirements capture or user-interface design. Where possible, avoid exposing the same user to the interface more than once; the second time, the user will be tainted by your earlier design ideas (similar to "home blindness"), and as such the value of the activity is diminished.

Also, when exposing a software prototype to end users, be careful to set the expectations right. If you don't, users may have expectations that they will experience the full behavior of the functioning system behind the user interface.

How to Expose the Design

One way of exposing a user-interface design is to have a business or system analyst sit together with the end-user, either in front of a screen or other medium showing the interface. Walk through a common scenario, for example, a use case's basic flow with typical values, as described in a use-case storyboard. Encourage the person to ask questions and give comments.

The challenge with this approach is to ensure the information you obtain is as unbiased as possible. To do this, you need to make sure the questions you ask are context-free. Take as many notes as you can: if at all possible, have someone else do this so as not to interrupt the users natural flow. (For other useful guidelines on conducting user interviews and workshops, see: Work Guidelines: interviews and requirements workshops).

Another way of exposing the user-interface design is to perform use tests, often conducted as a lab or workshop with representatives from the end-user community. In a use test, real users perform real tasks with the interface, with software development staff typically taking a passive observational role.

There is a lot of value that can be gained from this type of usability testing, however there are a number of challenges that must be faced and tradeoffs made to get reliable, economic results:

  • As a general rule, this approach has the most value where the end-user community is large, varied and has a great degree of control over their selection of software system. In the presence of these factors, the risk of not performing use tests increases. Often the greater the value in performing these tests, the harder it is to gain access to, coordinate and manage this activity with the end-user. 
  • It is important to identify the most common usage patterns, discounting outlier and exceptional results, to ensure that the user-interface design decisions are based on the needs of the majority. To do this, you will need sample data that are both broad and deep. This will usually require a large amount of effort to gather and collate.
  • Where end-users are to migrate from an existing legacy system to a new system, they are often concerned that the new system will provide less functionality than that provided by the old. Unfortunately, this issue is seldom raised directly, and is often concealed by comments such as "I want the new system to look and feel exactly the way the existing system does".
  •  Where a significant change in technology is being proposed to an end-user community, it may be necessary to provide training in the basic use of the technology before significant value will be gained out of use testing. For example, legacy system users may have had no previous experience using a mouse or working with a GUI.

Each project team needs to consider these challenges against the unique project environment they are working within, and arrive at the appropriate timing, method and approach to usability testing.

Further Reading: See [CON99] and [GOU88] for information on designing for usability.

 

Copyright  © 1987 - 2001 Rational Software Corporation


Display Rational Unified Process using frames

Rational Unified Process