To Test or Not to Test...
Still a Question?

 

 

Introduction

Unlike the traditional testing, that tests the programming to find out if the software correctly performs business functions, or does not malfunction under certain conditions, usability testing tests the interaction of software and people.

Can people actually use the software? How intuitive is it? Does it meet the user needs? What are the problems users are having? These are the main question the usability testing is trying to find answers to. Why is this important? If the interaction of the software and people is not successful, the users will not accept it. Moreover, they will try to avoid using it. Does it make sense to put both money and effort in developing the software if no one uses it?

Purpose

Usability testing helps in finding out if the product meets the user expectations and needs. It can help in delivering a product that is more intuitive to use. Keep in mind that, effective usability testing is not a one time effort, but continuous throughout the system development cycle.

Usability testing can help in identifying the problems people have in interacting with the software and finding out the different causes for these problems. It looks like there is a growing awareness that usability testing for interactive systems development is as important as debugging and compiling code. “The goal of the usability testing is to find valid, useful data” (Testing for Usability Can Head off Disaster, ComputerWorld, December , 1987). Gathering data from users that inaccurately represent the target audience or coaching users during the testing process may lead to generation of invalid data, therefore the validity of data is important. The data should also be useful, as not all data has value associated with. For example, users who are technologically savvy, might have no problem in exploring the software. This might lead to a high number of error generation by this type of users, whereas people who are not so comfortable with playing with the software and trying things out will end up having a lower error rate than the technologically savvy ones. But still having valid and useful data is not enough. There is a need to have feedback from the user explaining their concerns, and actions to be able to design a successful system. Usability testing method involves targetgroup test users to carry out specific tasks on the prototype of your product.

Usability testing is an effective method of identifying design error at an early stage in development, when system functionalities are still in basic form, or not yet implemented. As errors will be identified, appropriate solutions have to be developed. At this stage, changes will be easier to implement and also it will be still cheap to implement those. It is important in insuring the systems success at every stage of the design process.

What are measurable variables in system usability? System task performance time, learning time, error rates, and enduser satisfaction have been identified to affect system usability. To handle client expectations and to set measurable goals, criteria can be set and agreed upon for usability acceptance, just as it is done with any software development project at the requirements definition phase.

There is a shift toward ensuring product usability in the technology industry. Giants like Oracle and Microsoft are putting more emphasis in usability testing in product development. The new Windows XP operating system, was heavily tested for usability before its rollout. Many issues and concerns were revealed by the test users and usability professionals. Still many companies fail to recognize the importance of usability testing.

No surprise that usability testing is becoming more of an issue in web site development. “E-commerce sites lose nearly half of their potential sales because visitors can't figure out how to use them”, says Jakob Nielsen, a principal at usability-research outfit Nielsen Norman Group in Freemont, California (source: "Homepage Usability" Jakob Nielsen, Marie Tahir). Many websites of big companies still carry the errors like using capital letters which slows reading time or awkward color combinations, that distract the eyes. All these can be eliminated by usability testing, says the Business Week in one of its articles.

So if you are still thinking “to test or not to test” consider the following example. After putting a lot of effort in system development, problems are discovered. Changing the design will mean a great deal of work and also it will be painful for the designers to take the criticism of a poorly done job. It makes more sense to have a system that is widely accepted then something that won’t be approved.

Having usability testing procedures in place makes the developers look at usability testing as a milestone in the overall system development, and not as hassle somewhere in between the road. There are several issues that need to be taken into account here. As a prototype is just a mockup of the system it lacks much of the code and some problems might not be detected. Consider a situation when several users trying to update the same record in the database. You can’t possibly have this kind of situation when playing with the prototype. Also, the productivity can not be assessed by the prototype as the users do not use prototypes for long enough. All you can assess here perhaps is the learning time.

You can’t really predict usability of the system. There are always perceptions that system designers have about their users. They are inclined to think that users DO think like they do. The reality is that users are different from designers and it is not possible to predict how users will use the system. This brings up another issue.

Who should be the testers? Certainly, not developers, but real end users. Of course developers have to test the system first. It was interesting to find out that in a company like IBM some developers have not tested the system as a whole or didn’t use it to perform real work. “We had the developer test their own system…. Good Lord, I wrote the error message, but I never expected it to come out in this content” (Jim Boyle, Manager of Software Human Factors, IBM). After testing the software for four days the developers achieved significant improvements in usability.

Though, not all suggestions of the users can be incorporated in the system. There will always be issues like performance vs. preference involved. So still some users, whose ideas were left behind might feel not satisfied with the system. Also, incomplete prototypes may be regarded as complete systems by the users. Thus, user expectations should be managed. Being honest with users and explaining that not all the suggestions can be incorporated, but will be carefully considered are important.


Page 2: Usability Testing of Web Sites
Page 3: Prototyping, Usability Testing and User Feedback