We might observe that more and more companies are creating their own apps to attract more users related to the business’s specific area. There are many mobile, web, or desktop apps that are related to the same area or where similar business logic is used. When comparing those apps we might notice that one of the main differences is related to the visual aspect of the app, for example, its design. When we touch the software testing area we can point out several testing types related to non-functional testing: usability, user experience, and accessibility. Each type of testing has its own specific direction. Therefore let’s consider them.
Key aspects and differences
Although people often don’t know an exact difference between these definitions, there are a couple of things that differentiate one from another.
The first visual aspect the user observes after launching the app is related to the usability of the app. Usability expert, Nielsen (2012), claimed that usability is a quality attribute that assesses how easily the user interface is to use. At the same time, the International Organization for Standardization (ISO) has published the document which describes that usability defines the extent to which a product, system, or service can be used by specific users to achieve specific goals with effectiveness, efficiency, and satisfaction within a particular context of use (International Organization for Standardization, 2018). Moran (2019) described the usability testing session, it involves participants performing tasks, usually using one or more specific user interfaces (UI). At the same time, a researcher (might be called a “facilitator” or a “moderator”) observes the participant’s behavior and listens for feedback. Finally, this feedback and results are used for improving the usability of the software product. The evaluation of usability is directly related to some international standards and guidelines covering this aspect. For instance:
- ISO 9241-110:2020: “Ergonomics of human-system interaction — Part 110: Interaction principles”. This standard provides a structure with the purpose to apply interaction principles and the general design recommendations for interactive systems (International Organization for Standardization, 2020).
- ISO/IEC 25066:2016: “Systems and software engineering – Systems and software Quality Requirements and Evaluation (SQuaRE) – Common Industry Format (CIF) for Usability – Evaluation Report”. This standard describes the CIF for reporting usability evaluations and presents a classification of evaluation techniques and the specifications for the content items (International Organization for Standardization, 2016).
- ISO 9241-210:2019: “Ergonomics of human-system interaction — Part 210: Human-centered design for interactive systems”. The purpose of this standard is to provide requirements and suggestions related to human-centered design principles and activities (International Organization for Standardization, 2019).
The next valuable aspect is called – user experience (UX). The exact definition, as outlined by the International Organization for Standardization (2019), says that the UX describes a person’s perceptions and responses resulting from the use and or anticipated use of a product, system, or service. In the syllabus published by International Software Testing Qualifications Board (ISTQB) in 2018 we can find that UX actually includes a set of user characteristics that occur before, during, and after use, they are:
- physical and psychological responses
- behaviors and accomplishments
The third aspect is accessibility. We might observe this word used during our daily life, outside of the software field. But let’s understand what it actually means when we are speaking about it in the software context. Duggin (2016) provided a very exhaustive definition: accessibility is when people are not excluded from using something on the basis of experiencing a disability. Accessibility means that people can do what they need to do in a similar amount of time and effort as someone that does not have a disability. It means that people are empowered, can be independent, and will not be frustrated by something that is poorly designed or implemented.
Some examples of standards and guidelines aimed at accessibility are:
- ISO 9241-171:2008: “Ergonomics of human-system interaction – Part 171: Guidance on software accessibility”. This standard improves the accessibility of different types of software, such as office, Web, learning support, and library systems. This standard might be used by analysts, development, and design teams (International Organization for Standardization, 2008).
- Web Content Accessibility Guidelines (WCAG). It’s developed by the Web Accessibility Initiative (WAI) of the World Wide Web Consortium (W3C). The purpose of this guideline is to provide a standard for web content accessibility that will meet the needs of individuals, organizations, and governments. It includes natural information such as text, images, and sounds. Also, code or markup that defines the structure, presentation, etc. (Web Accessibility Initiative, 2021) The concept of WCAG guidelines shows how to make accessible content (web content on desktops, laptops, tablets, and mobile devices) for people with disabilities (Web Accessibility Initiative, 2018).
The importance of each type of testing
When we are speaking about software development we need to consider the essential part that is directly related to the quality of the product, consequently to the client’s and end user’s satisfaction, this is software testing.
From the testing perspective, the usability issues might lead to problems with using the software via UI. These kinds of problems might cause confusion, errors, delays or outright failures and the software task will not be completed. In safety-critical systems such as medical systems, usability problems can also lead to injuries or death (International Software Testing Qualifications Board, 2018).
On the other hand, as mentioned by International Software Testing Qualifications Board (2018), the user experience risks can result in a user experience failure in a software product or its support systems. For example:
- Users are unable to buy a product because the app used to buy the product:
- Does not perform some of the functions required by the users (lack of effectiveness)
- Performs intended functions slowly or awkwardly
- Is unpleasant to use or does not provide satisfaction
As mentioned above, accessibility is critical to provide the opportunity to different people to use the software or product without any limitations. Considering the importance of accessibility testing we can highlight two risks, described by International Software Testing Qualifications Board (2018) persisting in cases when the accessibility is failing. They are:
- Risk of violating regulations when the software can’t be used by people with disabilities.
- Risk when the software is not compatible with other software or hardware used by people with disabilities.
Summarizing all the information we can see the difference of usability, user experience and accessibility and the specificity of testing applied to each aspect. If you want to dive deep into this topic I highly recommend starting with three sources. The first one is the syllabus aimed to help you to become a usability tester – ISTQB Certified Tester Foundation Level Specialist Syllabus Usability Testing, the second one will allow you to understand some concepts related to UI/UX field – articles provided by Nielsen Norman Group and the third significant part is related to ISO standards and guidelines.