software development and usability testing · how to do usability testing 4. set up the test –...

29
Shneiderman, Chapter 4 Preece et al, Ch 9, 11-15 Krug, Rocket Surgery Made Easy Rubin, Handbook of Usability Testing Norman Neilsen Group www Software Development and Usability Testing

Upload: others

Post on 22-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

Shneiderman, Chapter 4

Preece et al, Ch 9, 11-15

Krug, Rocket Surgery Made Easy

Rubin, Handbook of Usability Testing

Norman Neilsen Group www

Software Development

and Usability Testing

Page 2: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

HCI in Software Development

Goals for the designer

How design fits into the software life cycle

How to test your design

what is usability testing?

how do we do it?

Case study: Microsoft Windows 95 (mainly)

Autumn 2016 ITNP023: Foundations of IT 2

Page 3: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

The Software Life Cycle

Different models all include these main areas of activity to a greater/lesser degree:

– Specification– Analysis– Design– Implementation– Testing– Maintenance

Where should the designer be considering good design?

Shneiderman, Section 3.4

Autumn 2016 ITNP023: Foundations of IT 3

Page 4: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

Usability Engineering Model

It is possible to test from very early on. Possible places to test during the development are:

– Early design testing (of previous versions or competitors’products)

• provides goals for the designers

– Middle stages design testing• validates designers’’’’ choices, provides feedback for

improvement

– Later stages• ensures that product meets the design objectives

Autumn 2016 ITNP023: Foundations of IT 4

Page 5: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

Rapid Iterative Design

Involves a lot of prototypes and testing

Gives fast feedback about design flaws

Autumn 2016 ITNP023: Foundations of IT 5

DesignDesign

PrototypePrototype

Lab TestLab TestRedesignRedesign

CodeCode

Field TestField Test

Page 6: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

Scenarios

These are a special kind of prototyping to assist with making rapid prototyping simpler

The idea behind prototyping is to cut down on costs by implementing only parts of the system

– Horizontal prototypes• full range of features

• functionality reduced

– Vertical prototypes• limited range of features

• each feature implemented has full functionality

Scenarios combine horizontal/vertical ideas in the extreme by implementing a limited range of features with reduced functionality

Autumn 2016 ITNP023: Foundations of IT 6

Page 7: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

Goals for the Developer

The big picture:– Adequate functionality

– System reliability

– Good interface design

Also other features such as standardization, portability, consistency, integration

Shneiderman Section 1.2

Autumn 2016 ITNP023: Foundations of IT 7

Page 8: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

Specific Goals for the Designer

General aims:– Improving quality of work produced

• Discouraging errors, for example

– Increasing throughput• Making it easy to do things quickly

– Minimization of training time• Making it easy to learn

…but we need measures in order to see whether the goals are achieved!

Shneiderman, Section 1.3 Preece, Section 1.3, also chapter 10

Autumn 2016 ITNP023: Foundations of IT 8

Page 9: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

Goals for the Designer

Specific measurable goals:

– Subjective satisfaction (use surveys with satisfaction scales, e.g. like feedback questionnaires for lectures)

– Rate of errors (how many, what kind?)

– Speed of performance (use benchmark tests)

– Time to learn (measure for a specific set of tasks)

– Retention over time (how easy is it to remember how to use?)

There are certain trade-offs that might have to be made.

Autumn 2016 ITNP023: Foundations of IT 9

Page 10: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

Testing - Crucial for good design

Feedback post-release is not enough.

Testing after all development is not enough.

Good design requires early (and frequent) feedback

Autumn 2016 ITNP023: Foundations of IT 10

Page 11: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

Before Usability Testing

Obviously, test functionality.

• white box testing• check buttons link to right place, media appears, control code

works as expected

• block box testing• does the software/tool/presentation/www site match the

specification?

• Can tasks (identified as part of your task profiles) be carried out?

Autumn 2016 ITNP023: Foundations of IT 11

Page 12: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

What is usability testing?

Simply carrying out experiments to find out specific information about a design

Getting users to give feedback

may involve statistical analysis

but doesn’t have to

Output: usability error reports (so they can be fixed)

Autumn 2016 ITNP023: Foundations of IT 12

Page 13: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

Why bother with usability testing?

(you ≠ me)

Just because something has been carefully designed doesn’t mean that it has been designed well

Designers have a very designer-centric view of their creations

Autumn 2016 ITNP023: Foundations of IT 13

Page 14: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

Why bother with usability testing?

What happens if we don’’’’t test?– It is a lot more expensive to fix a design fault after a software

release than to fix it before release

– On a web site the expense is low, but it is a greater effort to win back lost customers

Just how many errors are there anyway?– Can be very large

– Remember the average of 11 usability catastrophes, 20 serious problems, 29 cosmetic problems on each web site tested?

– Check any bug report site to see many examples in software

Old idea is that usability testing is part of beta testing.

Autumn 2016 ITNP023: Foundations of IT 14

Page 15: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

How to do usability testing

Very simply: get some users, and see how they work with your product.

Phases of testing (from Rubin’s Handbook of Usability Testing)

1. Determine what it is you’re trying to find out, e.g.– Is the product good enough?

– Does it meet company standards?

– How well does it work in the real world?

– Which is best, our product or our competitors?

Then use the purpose to create some objectives, e.g. – Can customers successfully use the help facility?

– Is the downloading time of the front web page too long?

Autumn 2016 ITNP023: Foundations of IT 15

Page 16: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

How to do usability testing

2. Design the test– Identify the people you are going to need - do you need men,

women, novices, experts?

– Determine the experimental design - the arrangements of when folks do what

– Develop the tasks that your users will perform

– Specify what equipment and personnel you’ll need

3. Get some users– Fellow employees, friends and family of employees

– For specialist user populations you might use a recruitment agency

– But don’t use biased people (e.g. inside knowledge)

Autumn 2016 ITNP023: Foundations of IT 16

Page 17: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

Users - You only need 5?

Nielsen and Landauer’s study showed...

Autumn 2016 ITNP023: Foundations of IT 17

Page 18: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

Users - You only need 5?

Note other insights:– With zero users, you detect zero usability problems

– You do find more problems with more users, but with 5 users you can find 80% of the problems

– If you have the money for 15, better to run 3 small tests of 5 users each, at different stages of the development

– 15 tests with 1 user is not a better plan because people vary widely so 1 individual gives you skewed data results

– But 15 tests with 15 users, spread over time, is ok

– Krug suggests testing little and often (1 day a month)

Autumn 2016 ITNP023: Foundations of IT 18

Page 19: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

Neilsen Studies with Number of Users

Autumn 2016 ITNP023: Foundations of IT 19

5 10 15 20 25 30

Page 20: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

How to do usability testing

4. Set up the test– prepare the equipment

– provide a script for your test supervisors

5. Run the test– prepare your users (put them at ease, explain test conditions to

them, get them to sign consent forms)

– run your users through their tasks and collect their data

6. Don’t forget to thank your users afterwards!– you might want to use them again in future

7. Analyse your data

Autumn 2016 ITNP023: Foundations of IT 20

Page 21: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

Testing techniques: Heuristic evaluation

• Done without users!

• Usability guidelines are many, so it can be useful to focus on one small set of guidelines, such as Shneiderman’s

Autumn 2016 ITNP023: Foundations of IT 21

Page 22: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

Testing techniques: Think Aloud

Thinking aloud protocol

– User talks through their thought/action process

– Krug scriptSee the demo usability video from Rocket Surgery Made Easy

Autumn 2016 ITNP023: Foundations of IT 22

Page 23: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

Testing Techniques: Krug Usability Test

45 minutes

Trunk test (where am I, what is this, where do I go?)

Think aloud for a given task

Resources available on sensible.com

Autumn 2016 ITNP023: Foundations of IT 23

Page 24: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

Testing techniques: Usability labs

Labs range from the very simple to the very sophisticated

Features may include:– desks, chairs, computer... nice décor (comfortable, non-

intimidating)

– audio/visual recording equipment

– eye tracker

– two-way mirrors

– computer logging

– intercom

– soundproofing

– good lighting

Autumn 2016 ITNP023: Foundations of IT 24

Page 25: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

Testing techniques: Online testing

There are a few cases where it is appropriate:– International usability

– Specialized testers are needed, e.g.• people suffering from a rare disease

• teachers of an obscure topic

– Scarcity of local testers, e.g.• the average Silicon Valley resident is more aware of technology

Can be quite easy to get people online to do this (e.g. Amazon Mechanical Turk)

Autumn 2016 ITNP023: Foundations of IT 25

Page 26: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

Testing techniques: Online Surveys

Pluses:– Surveys can collect information from real users when they are

actually using your software/interface

– Good at conveying • why people want to use the product

• if they like/dislike the product, in particular its visual appearance

• what additional features they might like

Minuses:– Surveys collect opinions and not facts

– Users have selective memories

– Users can’t always tell you why or where they have difficulties, only that they do have difficulties

Autumn 2016 ITNP023: Foundations of IT 26

Page 27: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

Usability testing isn’t perfect: how to get more feedback

Testing won’t catch certain sorts of errors:– Obscure errors

– Errors only found after a long time of use

– Complex feature interaction

Additional forms of feedback can be very valuable. These include:

– User groups, mailing lists, surveys

– Technical support (online or telephone) - log those calls!

– Test comparison of products with others on the market

– beta testing

Autumn 2016 ITNP023: Foundations of IT 27

Page 28: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

Myths of Usability Testing

Testing is expensive - “we can’t afford a usability lab”

Testing is time-consuming

Testing requires experts in usability

Autumn 2016 ITNP023: Foundations of IT 28

Page 29: Software Development and Usability Testing · How to do usability testing 4. Set up the test – prepare the equipment – provide a script for your test supervisors 5. Run the test

End of Lecture