up-leftUI Test Catalog

Some of the most obvious errors are not included, such as "clicking on a button does not crash or does nothing." Complex matters such as security (e.g., hacker injections via Inputs or File Uploads) and performance concerns are out of scope.

circle-check

General

  • Grammar and spelling: incorrect, inconsistent (e.g. US vs. UK styles)

  • Text size, color, family: inconsistent, too big, too small, misaligned

  • Language and terms: inconsistent style, obscure abbreviations that were not introduced

  • Communication:

    • Absent or insufficient information onscreen

    • Failure to refer to documentation when appropriate

    • Excessive, confusing information (checked by someone without prior knowledge)

    • Failure to acknowledge input or submission

    • Failure to show activity during long delays

    • Failure to advise when a change will take effect

    • 2+ names for the same feature

circle-exclamation

Text and Number Input Fields

These are grouped because a string may be input into a number field as an invalid value, and vice versa - a number into a text field. If any of the below items seem unlikely to happen and you wish to say "The user will never do that" or "This should never happen", remember the Assume Misusearrow-up-right heuristic.

Note: LB - Lower Boundary, UB - Upper Boundary.

Common:

  • Blank (empty)

  • Whitespace only (space, tab)

  • Valid Value

  • LB value

  • UB value

  • Far above UB value and far below LB value (see Special Valuesarrow-up-right)

  • Special characters (non-Latin characters, Russian letters, Chinese characters, other alphabets, emojis)

  • One or more leading spaces

  • One or more trailing spaces

  • OS filename reserved chars (e.g., "\*.")

Numbers:

  • 0, 0.0, 0.1, 0.00000001 , etc.

    • Wrong data type (decimal when an integer is expected)

  • LB value - 1 (or -0.1 or -0.01, etc.)

  • UB value + 1 (or +0.1 or +0.01, etc.)

  • Negative numbers

  • One or more leading zeroes

  • Number overflow. e.g., for 32-bit integers, what happens when adding 4 billion to 4 billion?

  • Both plus and minus signs, e.g., +-4 and -4e+30

  • Internationalisation i18n issues: In English applications, the correct format is 12,345.67, but in German it's the opposite - 12.345,67.

Strings:

  • Just below the allowed length

  • Just above the allowed length

  • Far above the allowed length (e.g., attempt to paste in a very long string into a field with a hard length limit)

Button

  • Appropriate and consistent color reflecting the action (e.g., Blue/Green for "Submit", Red for "Delete")

  • Default state: enabled or disabled?

  • Failure to update state (enabled/disabled) as a response to the user's actions

  • Submit/Send/Pay button fails to become disabled while the request is processing

Radio button

  • The appropriate option is selected

  • NOT used for optional input (use checkboxes instead)

Interactions Between Inputs

Failure to show/hide/update the state of one input or element as a result of another action. For example:

  • Check checkbox A: additional inputs or information appear

  • Select radio button B: the irrelevant part of the web form becomes disabled

  • Broken

  • Lead to incorrect resource

File Upload

Client-side handling:

  • Failure to specify the allowed format, if any

  • Failure to prevent disallowed formats

  • Failure to prevent file upload with a size exceeding the specified limit

  • Failure to inform of failed upload (e.g., due to network interruption)

  • Failure to indicate a successful upload

  • Failure to allow selecting multiple files when supported

  • Failure to allow cancellation of an in-progress upload

  • Failure to show upload progress for large files

Server-side handling:

  • Failure to process the file as intended

  • Failure to handle a file when the back-end storage limit is reached

  • Failure to parse the file due to unexpected encoding, file name, or format (client-side validation failed or bypassed)

  • Failure to reject unauthorized upload attempts

  • Failure to clean up partially uploaded files

  • Failure to handle duplicate file names as intended

File Download

  • Incorrect file or file format downloaded

  • Incorrect information in the downloaded file

  • No relevant information, such as "The download should start shortly, if not - click this link"

  • No way to check the File's checksum provided (when appropriate)

circle-info

Additionally, many of the above inputs and controls can be checked for responsiveness to keyboard input - that elements are clickable and highlightable. Others for audio input.

State

Software may save, restore, and reset state as appropriate. See Advanced State Testingarrow-up-right and CRUD Testingarrow-up-right for more test ideas.

Error Messages

  • Failure to explain why the error happened at the appropriate level for the user (e.g., no tech jargon for non-technical users)

  • Failure to instruct the user on what to do next

  • Failure to provide a way out or go back (or forward)

  • See Testing Failures and Errors for more test ideas and the CLEAR LOG mnemonic.

Accessibility

A large, continuously evolving domain. Web accessibility encompasses all disabilities that affect access to the Web, including, but not limited to:

  • auditory

  • cognitive

  • neurological

  • physical

  • speech

  • visual

To avoid duplicating the content that may only become stale, this page refers to the W3C Web Accessibility Initiative (WAI)arrow-up-right.

Usability

Same as Accessibility. Refer to these resources:

Last updated