Usability is determined by the end user, not an expert evaluator and because of that usability testing should be conducted with potential users of the system in a realistic situation where the participant has to perform a list of tasks using the product. During the procedure, we should try to gather information as much as possible using different techniques and methods.
There are more than one methods used to test usability, here are several of them:
Interviews and observations: one-on-one sessions with users.
Group review or walk-through: a facilitator presents planned work flow to multiple attendees, who comment on it.
A Heuristic Review: involves having a trained usability tester evaluate a program and compare it to standards or guidelines that are generally agreed upon in the industry.
Hallway testing (Walk-around review):is a quick, cheap method of usability testing in which randomly selected people are asked to try using the product or service. This can help designers identify “brick walls,” problems so serious that users simply cannot advance, in the early stages of a new design.
Do-it-yourself walk-through: make mock-ups of the design, and use realistic scenarios to walk through the design yourself.
Paper prototype test: use realistic scenarios of a fake product that is still in design.
Prototype test: a step up from the paper prototype, test an animated mock-up against realistic scenarios.
Remote usability testing: In a scenario where usability evaluators, developers and prospective users are located in different countries and time zones, conducting a traditional lab usability evaluation creates challenges both from the cost and logistical perspectives. These concerns led to research on remote usability evaluation, with the user and the evaluators separated over space and time
Controlled experiment: a comparison of two products, with careful statistical balancing.
Questionnaires: ask testers to complete a formal questionnaire about how they would use a design.
You should pick one that you find more suitable for your purposes based on the complexity of the program and users that the program targets. For example, the tasks that are given to GNOME-usability testing participants differ from GIMP-usability testing participants since GNOME targets a wide range of users and GIMP in the other hand does not. You should also consider participants individual knowledge and experience on using that product but this is a topic that I will be covering on my next blog post where I will be talking more about personas, so stay tuned for that 🙂