Usability Attributes Addressed by Testers during their Software Testing Effort
According to ISO 9126 standard usability is nothing but a nonfunctional quality attribute of a software product. Usability points towards the functionality aspect presented to the users. Usability aspect covers much more than just the look and feel of the product.
Usability testing is a type of software testing effort directed at measuring to ensure the suitability aspect of the software product for its users, in terms of the effectiveness, efficiency, and satisfaction with which particular users can achieve specified goals with accuracy and completeness in a particular situation. A product can be termed as satisfactory if it is capable to satisfy its users.
Objective of Usability Testing:
Usability testing has following two purposes:
1) To ensure eradication of usability defects & is also known as formative evaluation.
2) To extend the software testing effort against usability requirements & is also known as summative evaluation.
ISTQB certified software
testing experts like “Test analysts” lay their major concern on the functionality & usability related quality attributes.
Different User Groups Concerned with the Usability Aspect:
A user group for a product is a group of people who will be affected in similar ways by the product. A user group is not just the people entering data into the product and looking at the screen, though this is certainly an important user group.
This group may indeed be divided into the following;
a) Frequent users
b) Occasional users
c) Rare users
User groups can also include people responsible for installing the product and those monitoring and maintaining it. Groups can also include people getting information from the product, e.g. in the form of reports or letters; and it may be those having to be near the product without actually interfering with it.
Although list of appropriate user groups is quite product-sensitive, yet user groups can be classified according to different personal characteristics as given below.
# Persons according to their age (e.g., children, teens, young adults, mature adults, and elderly).
# Persons according to their attitude (e.g., hostile, neutral, enthusiastic).
# Persons according to their cultural background.
# Persons according to their educational background (e.g., illiterate, basic education, middle education, workman, graduates).
# Persons having type of disabilities (e.g., people who are color-blind, blind, partially sighted, deaf, mobility-impaired, or with any other disability).
# Persons according to their gender like male or female.
# Persons according to their level of Intelligence.
Classification of usability attributes as per ISO 9126:
ISO 9126 divides usability into the following four attributes. Even though not explicitly mentioned in ISO 9126, accessibility remains the fifth & one of the most important attribute for usability of a software product.
1) Understandability: It refers to the level of difficulty with which logical concept can be recognized and finding out how to apply it in practice. It can include the following:
# Extent to which the system maps the concepts employed in the business procedures.
# Extent to which existing nomenclature is used.
# Nature and presentation of structure of entities to work with.
# Presentation of connections between entities.
2) Learnability: It refers to the learning curve for the product. It can include the following:
# Extent to which a user of the system can learn how to use the system without external instruction.
# Presence and nature of on-line help facilities for specified parts of the system.
# Presence and nature of off-line help facilities for specified parts of the system
# Presence and nature of specific manuals.
3) Operability: It is about what the product is going to use and control in deployment. It can include the following:
# Presence and nature of facilities for interactions with the product.
# Consistency of the man-machine interface.
# Presence, nature, and ordering of elements on each form.
# Presence and nature of input and output formats.
# Presence and nature of means of corrections of input.
# Presence and nature of navigational means.
# Number of operations and/or forms needed to perform a specified task.
# Format, contents, and presentation of warnings and error messages.
# Presence and nature of informative messages.
# Pattern of human operational errors over stated periods of time under stated operational profiles according to defined reliability models.
4) Attractiveness: It has got to do with how the users like the system and what may make them choose to acquire it in the first place. It can include the following:
# Use of colors.
# Use of fonts.
# Use of design elements, such as drawings and pictures.
# Use of music and sounds.
# Use of voices (male and female), languages, and accents.
# Layout of user interfaces and reports.
# Presence and nature of non-technical documentation material.
# Presence and nature of technical documentation material.
# Presence and nature of specified demonstration facilities.
# Presence and nature of marketing material.
5) Accessibility: It refers to the ease with which people with disabilities can operate the product.
It can include the following:
# Use of colors, especially mixtures of red and green.
# Possibility of connecting special facilities, such as speaker reading the text aloud, Braille keyboard, voice recognition, and touch screens.
# Possibility of using the product entirely by keystrokes and / or voice commands.
# Facilities for multiple key pressure using only one finger or other pointing device.
# Possibility of enlarging forms and / or fonts.
# Navigation consistency.
Various standards cover different aspects of accessibility, including Web Contents Accessibility Guidelines from the World Wide Web Consortium (W3C). W3C is an international consortium working on all types of Web standards.
How Usability Requirements are established?
Usability requirements can be derived from usability assessments. A usability assessment is performed by representative users who are given tasks to complete on a prototype of the products. This can be hand-drawn sketches of forms or mock-ups of the forms made in, for example, PowerPoint. Any thoughts and difficulties the users have in completing the tasks are recorded.
How do the software testing engineers perform the Usability Testing?
Usability may be tested in various ways during the development life cycle. Techniques for performing usability testing are:
# Static tests � Inspection, reviews or evaluation
# Doing verification & validation of implementation
# Surveys & questionnaires
Static tests are performed as reviews and inspections of usability specifications. These can include heuristic evaluation, where the design of the user interface is verified against recognized principles of usability. Static testing is a type of software testing that finds defects early and is hence very cost-effective, not like usability where mistakes in the user interface may be very expensive to fix late in the development life cycle.
The verification and validation of the implementation of the usability requirements are performed on the working system. Here the focus is on the usability requirements associated with, but not identical to, the functional requirements. Test procedures, use cases, or scenarios are used to express what is to be done, whereas the actual usability testing is about whether the usability requirements are fulfilled or not.
The usability requirements may be in the form of requirements stated in natural languages, but they may also be expressed in terms of prototypes or drawings. These may be more difficult to test against, but it is of great importance to verify that an implementation is in fact reflecting the prototype agreed on by the future users. In this form of usability testing it is specially important that the test environment reflects the operational environment, not least of all in terms of space, light, noise, and other disturbing factors.
Coverage may be measured using the usability requirements as the coverage element.
The ultimate validation is the user acceptance test where the finished product should be accepted by the users as being the system that fulfills their requirements, expectations, and needs. Obviously great care should be taken all along the development to ensure that acceptance may actually be the results of the acceptance testing. Serious defects and failures identified at this point of time may turn out to be very expensive.
Other tests like syntax tests of input fields and tests of messages to users can be combined with usability, even though they belong to functional testing category of software testing.
Not all requirements can be tested in a static and dynamic testing. Surveys and questionnaires may be used where subjective measures, such as the percentage of representative future users who like or dislike the user interface, are needed.
The questions are worded to reflect what we want to know about the users� feelings towards the product.
Primary Skills Essential for Usability Test Engineers:
The usability test engineers must be experienced testers having good expertise & understanding of areas like:
1) Knowledge of Sociology
2) Knowledge of Psychology
3) Knowledge of different standards
4) Knowledge of Ergonomics