It's so common to see applications--on the web and mobile devices alike--with colorful pages and awesome animations nowadays. But at some point, these designs get too much that instead of helping the users, they get too much to interact with.
Herein lies the importance of Usability Testing, which aims to check if how the application looks can guide the users to take the "Happy Path" (i.e. the desirable path to get the most out of the application) or reveal which interactions are more than likely to cause them confusion.
What Differentiates Usability Testing from Other Tests?
Simply put, Usability Testing is testing how easy it is for users to interact with your application.
Some key points to determine if your application is "Usable" include the following factors:
Can both old and new users easily navigate around the application?
Can new users learn how to use the application quickly?
Can users easily do the actions that they want to do on the application?
Are users happy with how the application looks like? Or are there any points they think the application could improve on?
Is the application catering to the user's needs?
When making a mistake or encountering errors, can the user backtrack or troubleshoot easily?
How is Usability Testing Done?
Based on this article from Browserstack, there are three common ways to execute Usability Testing:
Comparative - multiple versions of the same application are compared and evaluated to weigh the pros and cons of each. In some cases, there might even be tradeoffs that need to be considered when choosing one version over the other. The important thing is choosing what works best for the users.
Explorative - When designing the early versions of the application, consider the target user base's needs, preferences, inclinations, etc., and explore the application as if you were a first-time user yourself.
Assessment - Assessing the application's overall usability at specific points during development should help the usability of the application to improve.
Why is Usability Testing Important?
Not only does Usability Testing uncover user pain points that could help developers improve how users could interact with the application, but it could also validate that the application meets the expected requirements.
Moreover, Usability Testing could also help catch minor errors that can't be caught with other types of tests to provide a better user experience overall.
UI Design Principles to Remember
Here are some ways to give you an idea of how to write your Usability Test Cases:
Simple
Do not bombard the user with too much information as it could give them Memory or Cognitive Overload. Some ways to prevent this is by doing the following:
Chunking - break content into smaller chunks to help the user understand the process better
As much as possible, avoid using jargon and industry-specific terminology
Minimize long sentences
Avoid capitalizing all letters if the text is not an acronym or part of the logo
Do not use flashy and over-the-top designs as they could be distracting to the user
The best interfaces are the ones that are familiar to the user. This means that users prefer your site to work the same way as all the other sites they already know.
Make use of established UI design principles and rules
Aim for the minimum number of steps and screens possible at all times.
Use overlays like modals, popups, and side panels instead of redirecting to a new page.
According to the Three Click Rule: “A user should be able to achieve any action or access any information they require by clicking no more than three times from anywhere within the app.”
The Layout format should make sense and work as what the user expects Help the user follow the “Happy Path"
Provide visual markings for new updates/notifications
Mark links that have already been opened
Open internal links on the same page and external links on a different page
The icons to be used are tied to familiar functionalities or brands (e.g. a magnifying glass icon for the search functionality)
Brand Identity
The UI must reflect the goals and branding of the company (e.g. use the brand assets, color scheme, logo, etc)
Seeing the UI would make the user instantly recognize what the application is
Consistent
Consistency of the elements throughout the application (e.g. buttons, links, colors, etc)
Similar layout patterns should be used on varying pages
There should be homogenous menus and screens
There should be a consistent implementation of commands and shortcuts throughout the application
Clear
Gradually implement changes on the application instead of in a drastic way, especially if the functionalities are being used by the users often.
Inform users of expected changes to help them navigate the application easier
There should be clear labeling of Components (e.g. buttons) and Information throughout the application
Navigable
Provide Visual Clues for Navigation and make it permanently visible
Using Pagination when there are multiple pages to navigate (e.g. for search results)
Using Breadcrumbs as a secondary navigation scheme when there’s a hierarchical process that the users have to go through (e.g. payment processing, request submission)
Adding the common user tasks (based on priority and frequency) to the main navigation bar/main menu
Marking where the user is currently on the page (e.g. highlight or emphasize the current tab on the navigation bar)
Adding buttons or guides for:
Forward (i.e. going to the next page),
Reverse (i.e. going to the previous page)
Latent (i.e. jumping to a different part on the current page) Navigation
Use a sticky menu so that the users can still easily find where they are on the page and/or quickly jump to another page
Enabling scrolling where it would make sense to do so (i.e vertical scrolling, horizontal scrolling)
Using a Search bar so that the users can easily look for the content that they want to see and put it where the user is expecting to find it (i.e top right part of the page)
Remove barriers for conversion and reduce the complexity for the user by reducing the learning curve
Don’t ask users to re-enter information that they have already entered somewhere else
Enable undo/redo functionalities so that users can easily make changes Inform the user why they’re not getting their desired results (e.g. via error messages)
Make it easy for users to retrieve necessary information (e.g. all user information is in “Account Settings”)
Highlight calls to action and drive business goals
Important Actions and Functionalities should be visually prioritized
Clearly show the hierarchy of actions by adjusting the:
Color - bright colors vs. muted, contrasting colors vs. blended
Size - bigger size vs. smaller
Font face - different font faces to distinguish different groups of text
Font style - Bold, Italicized, Underlined
Law of Proximity (Negative Spaces) - buttons that are spaced apart can draw attention to them better compared to buttons that are grouped together
Functionality
Each action should serve a purpose related to the requirements
If a part of the UI does not serve a purpose for the user, then it might be better to not include it on the page
Practicality
Only ask what is required from the user when filling up forms (e.g. signup, contact, etc) to make it easier for the user
Group related input fields and buttons together
Display the input fields in a logical order
Status Information
Provide visual feedback for loading new content (e.g. using looped animation, loading spinners, or skeleton screens)
Show visible progress when doing a task (e.g. progress bars)
Provide responses to actions (e.g. success or failure messages)
Add visual signifiers of interactivity (e.g. drop shadows or highlights when the mouse hovers over a button, highlighted focus on input field when information is being entered)
Accessible
Common Keyboard Shortcuts should be usable for navigating throughout the page
Use Tooltips to serve as a guide when interacting with the pages
Use Color Contrast to distinguish between the elements on the page
Provide An easy-to-find help page or FAQ page
Make it possible to use Dark Mode extensions on the application
Provide Text Alternatives for images
Provide Aria Labels for buttons and input fields
Flexible
The application should work on older and newer devices
The application should be Responsive, i.e. it is viewable in varying viewport sizes and is optimized for viewing on mobile devices
Must be easy to use for both new and experienced users
Provide Advanced Search Features, if applicable
Provide Filter Bars for searching, if applicable
Provide Single-click shortcuts/Bulk processing of data (e.g. Delete All, Select All) where it is needed
References:
Website Usability Testing - BrowserStack
What Defines Good UI Design - Dribbble