What is usability testing?

TestingWhat is usability testing?

An important category of system testing is usability testing, which tries to find human factor or usability problems of the software. In old days of computer software, very rare developers were giving attention to the usability of the app or how humans will interact with the software. It was in the early 1980s which some developers were performing user-based software testing.

In late 1980s it was more common to perform this pre release software testing practice as usability testing in many software development teams and it prevented lots of potential bugs before providing the software to the end user. It was the time were computer manufacturers convinced usability testing is very useful financially and has lots of marketing advantages.

In this article we will check out:

Basics of usability testing

Software which are developing today are usually targeting mass commercial market and have undergone extensive human factor studies. They also benefit from thousands of software which is developed before and is developing every day. Nevertheless, an analysis of human factor is still highly needed. Here’s a list of questions which will help us in creating usability test cases and cover more area of the developed software:

  • Are components designed and developed considering target users educational background and computer literacy?
  • Are the software outputs meaningful, noninsulting and clear to the end user?
  • Are the error messages straight forward and meaningful to the end user?

“IEK022A OPEN ERROR ON FILE ‘SYSIN’ ABEND CODE¼102”  messages such as this were not that uncommon in the 1970s. Mass market applications do much better now in that regards but still users encounter with messages as “An unknown error has occurred” or “This program has encountered and error and must restarted”

These kinds of messages are useless, and it should all prevented. Testing team has members has a responsibility to raise these problems and push for improvements.

  • Is the user interface consistent in design, sizes, structure, format, and style?
  • Where accuracy is vital, is sufficient redundancy present in the input?

For example in an online banking system there should be sufficient redundancy as account number, customer name, and a personal ID number to ensure the proper person is accessing the account.

  • Does the system provide excessive number of option or options which are rarely used?

It is recommended to provide the end users options and items which are most likely to be used, based on software testing and design considerations. Software can learn which items has been used more and as a result the items can be filtered out and only needed items will be left to the users after an specific period of time in beta version of the app.

  • Are the fields and components of the software interactive?

For example

  1. Fields’ styles in different states should be defined.
  2. If selecting an option takes time to process, user should get informed about what is happening at the moment.

This level of testing usually referred as component testing, whereby interactive software components, are getting tested for reasonable selection and user feedback.

  • Is the software easy to use and navigate?  Can user move up and down one level? Can user get back to main menu after navigating to subpages? Is proper messages getting shown for case sensitive fields?
  • Is the design conducive to user accuracy? One practice is to analyze how many errors each user makes during filling in the form. Are these errors annoying or inconvenient? Is software work properly after an error occurs?
  • Can user use the app easily in further attempts? In other words, can user easily learn how to use the app and can user use the app / software effectively after learning the ins and outs of the app?
  • Did the user feel confident while using the software or stressed out? This can be gathered from end users by providing a feedback form whenever user leaves the app and analyze if user satisfied or would like to recommend the app to someone else.
  • Does the software satisfy its design goals? Usability testing evaluates the software specification versus the actual operation of the software. From the user perspective, real users are using the app in real environment. Did the software perform according to its specifications?

Basically, Usability testing is a black box testing technique. Black box testing focuses on the parts of the software which is working not in accordance with the specification. In Blackbox testing technique tester do not consider internal workings of the software or even understanding software or app structure. As a result, usability testing is a major part in SDLC (Software Development Life Cycle). User testing should uncover design flaws and software usability problems. If user can’t accomplish a task in software, can’t perform specific action without guidance then the development process has failed.

Usability testing process

Following list is showing the usability testing is beyond only seeking end user opinions or high level reactions to the developed software. When the usability errors found and resolved, a group can focus on finding out users and potential purchasers opinions. This practice is related to marketing.

Usability testing getting done in earlier stages of development and is much more involved than the marketing practices.

Any Usability test should start with a plan. Usability testing plan should establish practical, real-world and repeatable exercises for each user to perform. It should include testing scenarios covering all the software features and capabilities. For example for a customer tracking application the following testing scenarios may applied:

  • Modify an individual customer record
  • Modify an individual company record
  • Create a new company record
  • Delete a company record
  • Filter a list of all companies of a certain type
  • Print a list of companies with certain type
  • Export a list of contacts to specific file format
  • Import a list of contacts
  • Add an image to multiple records
  • Create and save a custom record
  • Change the menu structure

It is recommended to record each user’s activity during these scenarios. Also it is useful to provide a questionnaire to users after they finished these activities. For example she can be asked about her perception of usage versus software specification. In addition each user should be provided with same data and same instructions to have better results otherwise the testing process may go beyond the the testing deadlines and costs

Usability testing is one of the main testing types which is performed partially or fully in today’s all developed software and apps.


Please enter your comment!
Please enter your name here