Functional Testing vs. Usability Testing

Functional Testing vs. Usability Testing

Though to many testers the difference between functional testing and usability testing seems obvious, it is actually something that can stump many professionals in our industry. Both are a vital part of the testing process; one would think that we would spend more time determining, discussing, and teaching the difference between them than we actually do.

Though to many testers the difference between functional testing and usability testing seems obvious, it is actually something that can stump many professionals in our industry. Both are a vital part of the testing process; one would think that we would spend more time determining, discussing, and teaching the difference between them than we actually do.

To remedy this, let’s first look at the differences between the two steps, and exactly what each one entails. Functional testing is carried out to ensure that the product behaves according to the functional requirements without taking design principles into consideration.  This entails a series of tests which perform a feature-by-feature validation of behavior, using a wide range of normal and erroneous input data.  In contrast, usability testing focuses on customer acceptance and how well the customer can use the product to complete the required task.  Usability testing investigates all aspects of the usability of a product, including overall structure, navigational flow, layout of elements on a page, clarity of content, and overall behavior.

The relationship between functional and usability testing: usability testing needs to come after functional testing, once functional problems have been fixed. Performing usability testing on functionally-flawed products only unearths functional problems, which leads to frustration for the participants who are struggling with bugs when trying to complete a task.  It hinders the participants, it negatively influences their perception (and hence their feedback), and it invalidates the usability aspect of the results.

Both functional and usability testing require very different mindsets from the person testing and ideally should not be carried out by anyone involved in the development of the product.  Functional testing requires the mindset of “CAN I do what I need to do; does this product work?” Usability testing is more about ‘usability’ than it is about ‘testing’ (given that the latter term inevitably seems to bring about visions of functional testing first and foremost) and needs to have the mindset “HOW can I do what I need to do; does this make sense?”

Usability testing participants complete a number of key tasks that users of a product are expected to be able to complete using the product.  After each task has been completed, participants are asked to answer a number of questions related to the task.  These questions include multiple choice questions about task completion success or failure, ease of completing the task, and rating of any other statements that may be relevant.  For instance, rating how complete, useful, and relevant information on a page is would fall into this report.  Participants are also encouraged to use the “think aloud/write down” method to share their comments, feedback, and concerns.  This information is very helpful in determining the ‘why’ behind certain usability stumbling blocks, and the value you get from this is only increased when the testing comes from carefully-selected participants who match your target audience.

Though related, the differences between the two types of testing are obvious and important to the testing process. A simple way to think of the difference between functional testing and usability testing is that functional assesses whether or not the product works the way it should, whereas usability addresses whether or not the end user can access those functions and successfully use the product.