Today’s article is going to be a complete guide to usability testing. Does it sound too ambitious that we say it is a “complete guide”? In this case it truly is.
Usability Testing is a realm of the IT world that tries incorporating how “people” would like their applications to be– which is never easy. It is like trying to read minds. What sounds like common sense, is a profound science when it comes to usability testing.
However, we will try to address the key aspects of Usability Testing – the what, who, why, when and how- to the best of our abilities below.
What You Will Learn:
What is Usability Testing?
Image credit: blog.templatemonster.com
A usability test makes sure that the interface of an AUT is built in a way that fits the user’s expectations with respect to meeting requirements (effectiveness) easily (efficiently) in a simplistic satisfying manner.
The primary focus is on:
- Ease of use
- Ease of Learning or familiarizing with the system
- Satisfaction of the user with the entire experience
Usability has many dimensions to it. It is all about the user’s ‘experience’ during their interaction with an application and their ‘feeling’ towards it. A structured Usability Test translates this experience/feeling into a Validation Process.
Why is usability testing performed?
Web and mobile applications rule the business world in recent times. These apps being efficient, effective, easy, simple, appealing, engaging etc. is very critical for them to be embraced by the customers. Usability testing is all about determining if a site is what the user would want to use and come back to or not.
This not only applies to software systems. Any machine/interface that has a human interaction has got to satisfy these rules. How, you ask? Democracy would suffer if the voting machines were not usable. I wouldn’t vote if I had to click more than one button to choose my candidate, would you? Exactly!
For a more software specific example, check out this 300 million dollar article by Jared Spool that will clearly explain how the placement of a button has caused the business to be impacted.
When is Usability Testing conducted?
As testers we know that the earlier a defect is found in the SDLC the cheaper it is to fix it. The same concept holds true for Usability Testing also.
Usability testing results effect the design of the product. So, ideally, usability testing should start at the design level. But that is not all; software undergoes many changes/interpretations/implementations throughout the SDLC process. To make sure that we do not make usability related mistakes at any of these steps – usability testing should be conducted often and continuously for maximum results.
Who performs usability testing?
It can be done as an internal process, when the designers, developers and anyone else can sit down and analyze their system and get the results. Based on these results, the design and/or code can be modified to be in accordance with the changes they all agree on.
A more advanced approach is to hire real time users and give them particular tasks. A facilitator/s can devise these tasks and get the results from the users.
The users can then provide information, on whether:
- the task was successful or not
- the task could be performed easily
- Was the experience interesting, engaging or annoying – their feeling towards the software
How is usability Testing conducted?
Testing is validation of software against its requirements. Usability testing is not different – The only requirement in this case is to validate if the software is as per a mental map of how a user would want the software to be like, what makes it comfortable for them to use, what kind of holistic experience is the user going to take away from the interaction etc.
These are just a few of the ways in which usability testing is carried out.
Method #1) During the design phase, you could just take draw your website/application design on a piece of paper and evaluate whether it is going to work or not.
Method #2) An exploratory method would be to build the site and perform some random tests (by the development/design/QA- any or all internal teams) to determine usability factors.
Method #3) Hire a set of real time users to work on the site and report results
Method #4) Use a tool that would provide statistics based on the input wireframes and designs submitted
Method #5) Hire a third-party usability team that specialize in this field
Method #6) Submit your site design and wireframes to an external evaluator and get results from them
The structured Usability testing process contains the following steps:
Step #1) Identifying the users to perform the usability test – it helps to choose the set of users that is close to how the real time users are going to be. Care has to be taken not to pick experts or complete newbies . The experts are going to simply run through the entire process and the novices need lots of background training to even get started- neither situation is optimum.
Step #2) Designing the tasks that the users are going to perform on the application –A list of situations that the users are going to use the application for are to be made prior to starting the test. This can include something like: ‘Search for an X-box and buy it” or ‘submit a customer care question” etc. on an eCommerce site. The tasks should closely represent the real transactions the users would use the site for.
Step #3) Facilitating the testing – The usability team will have the users perform the tasks on the site and are going to gather information regarding the test progress and results. It really makes a huge difference when the design team participates while the users are working on the application. It gives them a better picture about how the app was used and where it did not deliver what the user wanted etc, firsthand.
Step #4) Analyze results – At the end of the test, we might end up with the time it took to perform tasks, whether the task was successful or not etc, so basically raw data. The results have to be presented to all the stakeholders and analyzed for identification of potential problem areas.
Usability Testing Tools
There are also many tools that help this process along. All these tools can be roughly categorized as follows:
Category 1: Create tasks/tests and give them to users (finding the users and giving them tasks is a manual activity, outside of the tool). While they are performing these tasks, the facilitator could watch their screen and interact with them. This could be in the lines of how you would “Skype”.
Category 2: Tool provides users or you can pick your own users. You can submit your page/design and the tasks to be performed. The tool in turn will provide you the videos of the user interaction plus the user’s comments. You can make your own analysis.
Category 3: Tools that use eye tracking and heat map methods to determine which part of the page the user has spent most time on. Some of the tools in this category also record the users clicks, scrolls, mouse moves etc.
Category 4: Tools that provide you with a feedback based on the website, page or wireframe that you submit as input. Some tools of this type also provide surveys that help in giving conclusive evidence regarding usability issues.
Category 5: Tools that recruit users for your usability test.
The above is a very broad classification. There are many other tools. And also, the division into a certain category is not always so clean. Sometimes the tools employ multiple methods at the same time.
Here is a list of tools category wise and the link to find more info about them. (I have not listed the features of each tool because all of them in a certain category have similar features and it would be redundant to write each one of it. The pricing information is also not included because the latest info can only be obtained from the tool’s home site, hence the link.)
Well, there you have it -the most basic information about usability testing. This is like trying to capture an ocean into a jar.
From what we have discussed so far, these are my impressions:
#1. Usability testing is not an out and out QA task. A role that traditional QA teams could play in this context is that of a facilitator who would create tasks, conduct the test and interpret the result. The ‘tester’ in this case is actually the user.
#2. The end results or outcome of a usability testing is not defects. It is simple information on how the user felt, what they liked, what they did not – basically raw data. Usability tester’s job does not end with reporting the results (in case of traditional QA jobs, we report bugs and do not get involved in fixing them), it includes providing suggestions on how to make the software more conducive for a user interaction.
#3. By understanding these concepts, we can actually make a difference as functional testers. To add more value to our role as QAs we can apply these usability concepts and provide insightful suggestions on how to improve the usability of an application.
I hope you find this article to be a good starting point for you to venture into usability testing. Also, if you choose to be a user to one of these tests conducted, you can surely become one. (Check out the links for whatusersdo and trymyUI for more details).
Author: This article is written by STH team member Swati Seela. She is also an instructor for our online software testing training course.
Please let me us know your thoughts and feedback through comments. All you experienced usability testers out there, please add your experiences to our article.