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 testing usability.
The primary focus is on:
- Ease of use
- Ease of Learning or familiarizing with the system
- The 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.
The 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. The usability test 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 human interaction has got to satisfy these rules. How do 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.
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 testing Usability also.
Usability test results affect the design of the product. So, ideally, the usability test 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 – this testing should be conducted often and continuously for maximum results.
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.
Testing is a validation of software against its requirements. Usability test 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 this 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 specializes 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.
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 with 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 heatmap methods to determine which part of the page the user has spent the most time on. Some of the tools in this category also record the user’s clicks, scrolls, mouse moves etc.
Category 4: Tools that provide you with 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.