Monday, February 17, 2014

What do we mean by Usability?

Many definitions of usability are available, few of them are:

1) In simple words it is "The ease of use".

2) It is the amount of effort required in learning, operating, preparing inputs, and interpreting the outputs of an application.

3) Technical definition prescribed in ISO 9241-11 is: "The extent to which a product can be used by specified users to achieve specified goals with Effectiveness, Efficiency and Satisfaction, in a specified Context of use".
 This testing is also called as 'Testing for User-Friendliness'. This testing is done if User Interface of the application stands an important consideration and needs to be specific for the specific type of user. Usability testing is the process of working with end-users directly and indirectly to assess how the user perceives a software package and how they interact with it.  This process will uncover areas of difficulty for users as well as areas of strength.

Usability "means that the people who use the product can do so quickly and easily to accomplish their own tasks."- Redish and Dumas,

A Practical Guide to Usability Testing
?         Is not functionality: -           Functionality is how the system works
?         Is not beta testing:-           Beta testing is unfocused and at end of process
?         Is not market research:-           Market research is about customer demands
 Usability testing is a black-box testing technique. The aim is to observe people using the product to discover errors and areas of improvement. Usability testing generally involves measuring how well test subjects respond in four areas: efficiency, accuracy, recall, and emotional response. The results of the first test can be treated as a baseline or control measurement; all subsequent tests can then be compared to the baseline to indicate improvement.

•Performance -- How much time, and how many steps, are required for people to complete basic tasks? (For example, find something to buy, create a new account, and order the item.)
•Accuracy -- How many mistakes did people make? (And were they fatal or recoverable with the right information?)
•Recall -- How much does the person remember afterwards or after periods of non-use?
•Emotional response -- How does the person feel about the tasks completed? Is the person confident, stressed? Would the user recommend this system to a friend?

 What is the importance of usability in an application?
 A usable application means improved productivity from the users with reduced errors & in shorter period of time. Time counts the most being the money in itself. So usability becomes the underlining factor for the success of a business.

 What usability testing is not? Simply gathering opinions on an object or document is market research rather than usability testing. Usability testing usually involves systematic observation under controlled conditions to determine how well people can use the product.

Rather than showing users a rough draft and asking, "Do you understand this?", usability testing involves 
watching people trying to use something for its intended purpose. For example, when testing instructions for assembling a toy, the test subjects should be given the instructions and a box of parts. Instruction phrasing, illustration quality, and the toy's design all affect the assembly process.

 How many users to test?
In the early 1990s, Jakob Nielsen, at that time a researcher at Sun Microsystems, popularized the concept of using numerous small usability tests-typically with only five test subjects each-at various stages of the development process. His argument is that, once it is found that two or three people are totally confused by the home page, little is gained by watching more people suffer through the same flawed design. "Elaborate usability tests are a waste of resources. The best results come from testing no more than five users and running as many small tests as you can afford." [6]. Nielsen subsequently published his research and coined the term heuristic evaluation.
The claim of "Five users is enough" was later described by a mathematical model[7] which states for the proportion of uncovered problems U
U = 1 ? (1 ? p)n

 What is usability testing & why it is done?
 Usability testing is a sort of non-functional testing. It evaluates a system in terms of ease of learning and using it.

 Objectives of usability testing are:
1) To find out how well the user will understand the application.
2) To determine the comfort level with which the user will be able to interact with the system.
3) To review the user interface and other human related factors of the application.
4) To ensure that the design i.e. layout and sequence enables the business functions to be executed easily and intuitively to the maximum possible extent.

 Best time for Usability Tests: It is ideal to begin the usability reviews earlier during the design stages of development. The cost of design changes remains minimal during the initial user-centered design phase.
If carried out late during the development cycle, usability testing might become impossible, since the system reaches a locked in state and often requires a major redesign to correct serious usability problems. This could even become economically non-feasible.

 Best methodologies of usability Testing:  Jakob Nielsen - one of the greatest experts on usability prescribes "Ten Usability Heuristics" that can be used as an effective tool for usability testing. These ten principles for user interface design are called "heuristics" because they are more in the nature of rules of thumb than specific usability guidelines.

 Some of the heuristics largely used by usability testers are as under.
 1) Match between system and the real world: The system should speak the user's language, with words, phrases and concepts familiar to the user, rather than system - oriented terms. For example instead of using the jargon - "portal", we can call it a web site in simple terms.
 2) Recognition rather than recall: Minimize the user's memory load by making objects, actions, and options visible. The user should not have to remember information from one part of the dialogue to another.
 3) Visibility of system status: The system should always keep users informed about what is going on, through appropriate feedback within reasonable time.
 4) Error prevention: Even better than a good error message is a careful design which prevents a problem from occurring in the first place.
 5) Help and documentation: Even though it is better if the system can be used without documentation, it may be necessary to provide help and documentation.

 Benefits of Usability Tests
 Timely carried out Usability Testing yields following benefits.
1) People prefer to buy software products that are easier to use. Hence products with good amount of usability testing effort have increased sales due to better appearance and being easier, faster and more effective to use.
2) Products with interface designs adequately validated by users find easy clearance during user acceptance testing phase.
3) The cost of design changes remains minimal during the initial design phase having active user involvement. Similar change would cost exorbitantly high during the later stages of development.
4) Products engineered with good amount of usability testing effort need minimum amount of end user training thereby reducing training costs to great extent.
5) The cost associated with usability does not remain proportional to the size of the project. Cost of many usability activities remains either the same or has marginal increase for bigger projects.
6) Easy to use product help in increasing the user performance and productivity due to reduced operational time & lesser number of errors committed by the users. This helps in providing greater motivation & job satisfaction to the staff using it, thereby reducing the employee turnover.

Some of the problem areas Usability Testers lay their maximum focus are:
 1) Overly complex functions or instructions
2) Difficult installation procedures
3) Poor error messages e.g. "syntax error"
4) Difficult syntax to understand and use
5) Non standardized GUI interfaces
6) User forced to remember too much information
7) Difficult login procedures
8) Help text not context sensitive or not detailed enough
9) Poor linkage to other systems
10) Unclear defaults
11) Interface too simple or too complex
12) Inconsistency of syntax, format, and definitions
13) User not provided with clear acknowledgment of all inputs

Setting up a usability test involves carefully creating a scenario, or realistic situation, wherein the person performs a list of tasks using the product being tested while observers watch and take notes. Several other test instruments such as scripted instructions, paper prototypes, and pre- and post-test questionnaires are also used to gather feedback on the product being tested. For example, to test the attachment function of an e-mail program, a scenario would describe a situation where a person needs to send an e-mail attachment, and ask him or her to undertake this task. The aim is to observe how people function in a realistic manner, so that developers can see problem areas, and what people like. Techniques popularly used to gather data during a usability test include think aloud protocol and eye tracking.
 In Usability Testing approach, representative users work on typical tasks using the system (or the prototype) and the evaluators use the results to see how the user interface supports the users to do their tasks. We are all somewhat familiar with the range of methods that can be used to usability test our products or even early designs. But there may be more methods than you've thought about. How many of the following methods are you familiar with?

 * Interviews/Observations: One-on-one sessions with users. At the Interview end of the spectrum, ask them questions about what they do. At the Observation end of the spectrum, watch what they really do. It's often possible to conduct both types of session in the same on-site visit.

   * Focus Groups: Often used in marketing well before there is any kind of prototype or product to test, a facilitated meeting with multiple attendees from the target user group.

    * Group Review or Walk-Through: A facilitator presents planned workflow to multiple attendees, who present comments on it.

    * Heuristic Review: Using a predefined set of standards, a professional usability expert reviews someone else's product or product design and presents a marked checklist back to the designer.

    * Walk-Around Review: Copies of the design/prototype/wireframe are tacked to the walls, and colleagues are invited to comment. (Post-It® Notes are good for this) It also works well when users are around for some other purpose, and this is the only way you can get their attention.

    * Do-it-Yourself Walk-Through: Set up a usability test situation, but without invited users. Make mock-ups of artifacts, but make the scenarios realistic. Walk through the work yourself.

    * Paper Prototype Test: Use realistic scenarios but a fake product. If possible, have a colleague "play" the insides of the product or software.