Usability testing is becoming a more important capability for Testlio. Clients are looking for an effective means to receive usability feedback about their apps –  they want their users to have a “delightful” experience.  Research has shown three components that drive delight in an app:

  1. The app has to do something useful,
  2. A task can be accomplished with ease,
  3. The user experiences a positive emotion while using the app.

Usability is right in the middle of that model.

What is usability testing?

Usability testing is a type of testing that basically tries to understand how people would like their applications to be. The main goal for this type of testing is to make sure that the interface of the application is built to meet the expectations of the end-user. It is all about the users' experience and feeling throughout their interaction with the application.

One of the first authoritative definitions of usability comes from Jakob Nielsen, who published “10 Usability Heuristics for User Interface Design”.  These are 10 patterns that have been shown to help improve the interaction between person and app.  

We have categorized these 10 patterns into 3 main focus areas that you as a tester should keep in mind. Always check your project-specific requirements regarding what type of bugs are expected and what is out of scope, not all the categories listed here will apply for all projects.

1. Ease of use

What to check?

  • Error prevention - It's good if a software app quickly detects a user error, but it's even better if the design prevents those errors in the first place. For example, if there is any ambiguity in date entry, month/day or day/month, a good design would ask for the day as a number and spell out the months (January, February, etc.).  That would remove the ambiguity of using US or EU date conventions.
  • Recognition rather than recall - information that is relevant to the user should be displayed if possible, rather than relying on the user to remember. For example, an airline ticketing app might display a boarding pass with the airline, gate number, and boarding time until the passenger gets in line to board. Then the boarding pass transitions to the QR code (to scan) and seat number.  
  • Aesthetic and minimalist design - The UI should be as simple as possible while providing the relevant information.  Any extra information has the possibility of confusing the user and making the task more difficult.  

2. Ease of learning or familiarizing with the application

What to check?

  • Flexibility and efficiency of use - as users gain familiarity with the design, they may opt to become a power user. The classic example of this flexibility is the use of keyboard equivalents instead of relying on the menu for a desktop app.  For mobile design, this may take the form of a gesture or long-press to act as a shortcut for the power user. 
  • Help and documentation - If the user needs some help, the help should be easy to find and relevant to the task at hand, ideally context-sensitive help.
  • Help users recognize, diagnose, and recover from errors - When an error occurs, the design should be easy for the user to decide on the next step.  The error messages should be in plain language, not using error codes. 

3. The satisfaction of the user with the entire experience

What to check?

  • Match between system and the real world - The language used by the app should match the real world language used in the domain.  For example, a well-known small business accounting app adapts the word for “customer” depending on the type of business.  Examples are “client” for a consulting business, “donor” for a non-profit, “renter” for a property management business, and so on.  The underlying database entry is still “customer”, but the language used in the user interface matches the real-world equivalent. 
  • User control and freedom - The user should be in control of the workflow and interaction, including the ability to back up, exit, undo, or redo any actions. 
  • Consistency and standards - Symbols, icons, and language should remain consistent within the app and ideally with industry standards.  For example, a “hamburger menu” (3 short lines) generally means a menu comes visible when its tapped - and the menu is generally in the upper right or upper left of the UI.  
     

Here is an additional list of resources for you to learn about usability testing.

Did this answer your question?