Software Testing – An Introduction to Usability Testing

Usability Testing:
As the term suggest, usability means how better something can be used over the purpose it has been created for. It means a way to measure how people (intended/end user) find it (easy, moderate or hard) to interact with and use the system keeping its purpose in mind. It is a standard statement that “Usability testing measures the usability of the system”.

Why Do We Need Usability Testing?
It is carried out in order to find out if there is any change needs to be carried out in the developed system (may it be design or any specific procedural or programmatic change) in order to make it more and more user-friendly so that the intended/end user who is ultimately going to buy and use it receives the system which he can understand and use it with utmost ease.

Any changes suggested by the tester at the time of testing, are the most crucial points that can change the stand of the system in intended/end user’s view. Developer/designer of the system need to incorporate the feedback (here feedback can be a very simple change in look and feel or any complex change in the logic and functionality of the system) of usability testing into the design and developed code of the system (the word system may be a single object or an entire package consisting more than one objects) in order to make system more and more presentable to the intended/end user.

Developer often try to make the system as good looking as possible and also tries to fit the required functionality, in this endeavor he may have forgotten some error prone conditions which are uncovered only when the end user is using the system in real time. Usability testing helps developer in studying the practical situations where the system will be used in real time. Developer also gets to know the areas that are error prone and the area of improvement.

In simple words, this testing is an in-house dummy-release of the system before the actual release to the end users, where developer can find and fix all possible loop holes.

How Usability Test Is Carried Out?
Usability test, as mentioned above is an in-house dummy release before the actual release of the system to the intended/end user. Hence, a setup is required in which developer and testers try to replicate situations as realistic as possible to project the real time usage of the system. The testers try to use the system in exactly the same manner that any end user can/will do. Please note that, in this type of testing also, all the standard instruction of testing are followed to make it sure that the testing is done in all the directions such as functional testing, system integration testing, unit testing etc.

The outcome/feedback is noted down based on observations of how the user is using the system and what are all the possible ways that also may come into picture, and also based on the behavior of the system and how easy/hard it is for the user to operate/use the system. User is also asked for his/her feedback based on what he/she thinks should be changed to improve the user interaction between the system and the end user.

Usability testing measures various aspects such as:
How much time the tester/user and system took to complete basic flow?
How much time people take to understand the system (per object) and how many mistakes they make while performing any process/flow of operation?
How fast the user becomes familiar with the system and how fast he/she can recall the system’s functions?
And the most important: how people feel when they are using the system?

Over the time period, many people have formulated various measures and models for performing this testing. Any of the models can be used to perform the test.

Advantages of Usability Testing

  • Usability test can be modified to cover many other types of testing such as functional testing, system integration testing, unit testing, smoke testing etc. (with keeping the main objective of usability testing in mind) in order to make it sure that testing is done in all the possible directions.
  • It can be very economical if planned properly, yet highly effective and beneficial.
  • If proper resources (experienced and creative testers) are used, usability test can help in fixing all the problems that user may face even before the system is finally released to the user. This may result in better performance and a standard system.
  • It can help in uncovering potential bugs and potholes in the system which generally are not visible to developers and even escape the other type of testing.

It is a very wide area of testing and it needs fairly high level of understanding of this field along with creative mind. People involved in the usability testing are required to possess skills like patience, ability to listen to the suggestions, openness to welcome any idea, and the most important of them all is that they should have good observation skills to spot and fix the problems on fly.