Quality Assurance: Why Usability Testing Matters
Tags: usability, ux, testing, codequality
Published: 2020-06-10 10:49:54

*Usability through the eyes of a tester.*

---

#The Role of a Tester

Testing is not about breaking things, finding all the bugs, or making developers’ lives miserable. 

Testing is about __*gathering, organizing, and  presenting meaningful information*__ that will later be used in critical decisions about the project. 

###__*A tester’s job is to spot and call attention to things that will affect those whose opinion matters most.*__ 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/xywqpc6smlxoarwt0mn2.png)

###__*You serve multiple clients; supporting developers is, however, one of the key aspects of your job. Extensive testing makes developers’ work easier and more efficient.*__ 

Whenever changes and new features are introduced, you have to test them out and report back to your team as soon as possible. 

While the developers are working on the issues you’ve discovered, you’re on a quest to get more useful information.
 
###__*Continuous testing brings synergy to the development process by providing constant feedback.*__  

####Things you should remember as a tester:

- __It’s impossible to find all the bugs__, don’t try to achieve 100% coverage, it’s impossible.

- __You alone don’t assure the quality of the product__, you provide information that facilitates the assurance of quality by the whole team.

- __Not everyone understands testing__, make sure your clients/team members understand what you need to do your job well. 

- __Give up the “not-my-job” attitude__, apart from writing test cases and filing bug reports, you have to understand and take care of the whole software development process. 

###__*Bugs are not always obvious. Most of them don’t scream at you in big red letters.*__ 

There are quite a few attributes of quality, and if the product lacks or violates any of them, you’re off to file a bug report: 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/1z5sgp7xmoh4ei29t3qk.png)

Despite being last alphabetically in this list, __usability__ is what you should keep an eye on at all times.

###__*There’s no point in making a product if nobody wants it.*__    

#What Is Usability? 

###__*Usability is a software quality attribute that defines users' ability to use an application to achieve their goals with ease, efficiency, and satisfaction.*__ 

- When we decide how big a button should be, we think about usability: will it be __easy__ for the users to click the button? How likely are the users to misclick? 

- Would it be enough to let the users perform actions on a single item or would the users find bulk actions more __efficient__? 

- What would make the users more __satisfied__ in a given context: long dropdowns or autocomplete? 

Usability research and usability testing can answer the questions above and many more. How do you get the answers as a tester? Let’s find out.  

#Why Usability Matters in Development?

###__*Usability matters because, as a software development team, we want our product to be as seamless as possible.*__

Seamless means the end-users are able to work with the application in a flow state without making guesses, double-checking, or trying too hard to achieve their goals.  

#How Do You Decide What’s Usable and What’s Not (as a Tester)?

As a tester, you always have to keep an eye on usability. Whether it’s a social media app or banking software, __*it’s designed to be used by humans.*__ 

Some might say that it’s OK for business software to suck: it’s only used inside the company and a few people might grin and bear it. 

Such approach is unacceptable even for business software mainly for two reasons:

- When employees underperform because the software they use becomes an obstacle, __*the business loses money*__

- When every work day becomes hell because of the inoperable tools in use, __*the business loses employees*__ 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/u4adju7u7fzyvwcglmy6.jpg)

Usability always matters. Unfortunately, not every customer and not every software development company recognizes its value. 

Going back to the __Give up the “not-my-job” attitude__ rule, as a tester, you can still identify and point out usability issues that could adversely affect overall product’s quality. How? With __usability review__.  

#What is Usability Review? 

###__*Usability review is a usability evaluation of an application by an expert with sufficient expertise in usability.*__

Broadly speaking, usability review is performed based on:

- Usability requirements, standards, or best practices

- Prior usability issues previously encountered by users

#What Are The Types of Usability Review?

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/8aacusyuoq6jgl1psrob.png)

#How To Conduct Usability Review? 

__Step 1:__ Prepare for the review. Determine your goals and choose the most appropriate type. 

__Step 2:__ Explore the software. Learn as much as possible about it.

__Step 3:__ Write down your findings keeping in mind these questions:

- __Who__ will use this application?

- __Why__ will they use it?

- __What__ goals will the users want to achieve?

- __How__ will the application look in the users’ eyes? 

__Step 4:__ Present your findings to the stakeholders. Raise critical points. 

#Pros And Cons of Usability Review

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/blxnynxjbrz4xn8e4kt7.png)

#What Other Types of Usability Testing Are There?

Apart from Usability Review, which doesn’t normally have users involved, there are such types of user testing as: 

####Moderated in-person usability testing 

- __lab usability testing__ is performed in-person by a trained usability expert who moderates the process. Lab usability testing takes place in a lab built specifically for the purpose of usability testing. While a group of people is working on given the tasks, the moderator takes notes and asks relevant questions.

This type of usability testing provides in-depth results but can be not very accurate. Controlled environment and small test groups don’t always represent real users in natural conditions. 

- __Guerilla usability testing__ involves test subjects picked randomly in a public place like a coffee shop. This method is often used to quickly gather feedback from passersby to validate new ideas. 

The test subjects, however, must be chosen carefully, otherwise, the test results might come out biased. People might be in a hurry, in a bad mood or try to be polite. 

####Unmoderated in-person usability testing 

- __observation usability testing__ does not require direct involvement from the moderator. While the participants are working on the tasks following the instructions, the moderator can observe their gestures, body movements, and facial expressions without interference. 

This type of usability testing provides more freedom and independence to the participants and resembles real-life conditions. 

- for __eye-tracking usability testing__ researchers set up equipment designed to track the participants’ pupils movements. 

This usability testing method is used to collect data on users’ attention, how they focus, what distracts them, what patterns they follow and so on. 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/fpq4y0zqvq2yg66ui8nm.jpg)

####Moderated remote usability testing 

- during __phone usability testing__ a moderator interviews test subjects over the phone taking note of their experience with the tasks given. Meanwhile, user behaviour is being recorded remotely. 

This testing method allows moderators to work with more demographically diverse groups of people and gather more information at lower costs.
 
- in __card sorting usability testing__ the participants are given virtual cards with certain concepts and are asked to sort them in the way they find meaningful. 

People naturally tend to group things and put them into categories. Gathering input on what schemes make the most sense to them can help with designing layouts and navigation.

####Unmoderated remote usability testing 

- with __session recording__ user’s actions are recorded using software. Later, usability experts and other development team members can review those recordings and see how the users used the application, where they stumbled, spent too much time, etc. 

Session recordings allow usability experts to take their time to thoroughly observe and analyze users’ actions. Such observations provide the researcher with invaluable information on whether it’s easy enough for the users to stay focused, whether the instructions given are clear enough to complete the task, whether the users are not distracted by any elements, how people filter information and much more. 

- there are multiple __online testing tools__ that help distribute short but meaningful tests to users. For example, 5-second test (where users are given 5 seconds to answer the question) helps gather users’ first impressions about the product. In first-click type of tests users are asked where they would click first to complete a certain action.

Such tests are designed to better understand users and unveil the unconscious motivations of your target audience. 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/hwkh1px8f264g158rh6e.png)

#Conducting Usability Testing

In general, usability tests include these core three steps:

####1. Preparation to usability test
This step includes coming up with a usability test plan, defining goals of the test and usability test tasks, preparing usability test scripts, and signing up usability test participants.

####2. Conducting usability test
Depending on the usability test type, the step might encompass giving instructions to the test subjects before the test, moderating the test session, conducting post-session interviews with the participants, etc.

####3. Analyzing and communicating findings
During this step, the tester is expected to thoroughly analyze the findings, organize and present them in a report which he/she will later show to the stakeholders.

####What Goes in a Usability Test Report?
As a rule of thumb, your usability test report will contain quantitative and qualitative data you've planned to collect during the test. 

- __Quantitative data__  may include error/success rate, how much time the tasks took, ratings based on satisfaction questionnaires, participant demographics.

- __Qualitative data__ mostly relate to issues/obstacles experienced by test subjects during a task, recommendations and comments of the participants, as well as answers to open questions, and observations about decision making, tendencies, and action patterns. 

Make sure you write your usability report as accurately and precisely as you would write a bug report. At the end of the day, you want to gather as much data as possible, including details on what exactly went wrong and how it happened, not just document that something went wrong.
 
#Understanding Human Brain for Better Usability

To be able to better understand what’s usable and what’s not, you’ll have to take a peek at how our brain works. Interesting stuff, really. 

#A Few Facts About Human Vision

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/71lhcqclwmhagldofxaj.png)

#How Attention and Focusing Work

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/7hk2bzwokay3vw87yaiu.png)

#Helping Users to Make a Choice

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/8789bqos5s4nezmdnbob.png)

#Why Usability Testing Is So Important for Businesses?

Being one of the most important quality attributes, usability should be tested thoroughly and earnestly. Here’s why:

- Your customers have a better user experience
- You get the idea of how satisfied the users are with the product
- You know what functionality needs changes or improvements; oftentimes, such problem areas are not obvious without proper usability testing
- You get an unbiased opinion on the product; you know which features matter most
- You save money when issues are fixed in advance; you save on support and redesign efforts
- You earn money because your customers get exactly what they want; they gladly use your product and recommend it to friends  
- You’re ahead of your competitors; many businesses miss out on usability testing and regret it later (because of all of the reasons above) 

As a business owner you should always care about usability. Make sure the development team values usability as well.

###__*Giving priority to usability means putting your customers above all. Businesses that care about end-users are the ultimate winners.*__

---

*Thank you for taking your time to read my article. I hope it was useful. If there’s anything you’d like to add or discuss, feel free to comment.* 

__*Have you ever performed any kind of usability testing? What was your experience?*__