GUI Testing Guidelines

GUI Testing Guidelines

What is GUI Testing?

Graphical User Interface Testing is absolutely essential for any application has to be user-friendly. The end user should be comfortable while using all the components on screen and the components should also perform their functionality with utmost clarity. Hence it becomes very essential to test the GUI components of any application. 

GUI Testing can refer to just ensuring that the look-and-feel of the application is acceptable to the user, or it can refer to testing the functionality of each and every component involved.

Guidelines for effective GUI Testing 
 
o Check titles for all screens

o Check all text on window for Spelling/Tense and Grammar.

o Use TAB to move focus around the Window and Use SHIFT+TAB to move focus backwards.

o Tab order should be left to right, and Up to Down within a group box on the screen.

o All controls should get focus - indicated by dotted box, or cursor. Tabbing to an entry field with text in it should highlight the entire text in the field.

o Never updateable fields should be displayed with black text on a gray background with a black label.

o All text should be left justified, followed by a colon tight to it. In a field that may or may not be updateable, the label text and contents changes from black to gray depending on the current status.

o List boxes are always white background with black text whether they are disabled or not.

o In general, everything can be done using both the mouse and the keyboard. All tab buttons should have a distinct letter.

o Clicking with the mouse on the check box, or on the text should SET/UNSET the box.

o If Command Button leads to another Screen, and if the user can enter or change details on the other screen then the Text on the button should be followed by three dots. All Buttons except for OK and Cancel should have a letter Access to them.

o If there is a Cancel Button on the screen, then pressing should activate it. If pressing the Command button results in uncorrectable data e.g. closing an action step, there should be a message phrased positively with Yes/No answers where  Yes results in the completion of the action.

o Pressing the Arrow should give list of options of a List box. This List may be scrollable. You should not be able to type text in the box.

o Combo Boxes should allow text to be entered. Clicking Arrow should allow user to choose from list

o List Boxes should allow a single selection to be chosen, by clicking with the mouse, or using the Up and Down Arrow keys. Pressing a letter should take you to the first item in the list starting with that letter.
 

Screen Validation Checklist
Aesthetic Conditions:

o Is the general screen background the correct color?


o Are the field prompts the correct color?
 

o Are the field backgrounds the correct color?

o In read-only mode, are the field prompts the correct color?


o In read-only mode, are the field backgrounds the correct color?
 

o Are all the screens prompts specified in the correct screen font?
 

o Is the text in all fields specified in the correct screen font?
 

o Are all the fields prompts aligned perfectly on the screen?
 

o Are all the field edit boxes aligned perfectly on the screen?
 

o Are all group boxes aligned correctly on the screen?
 

o Should the screen be resizable?
 

o Should the screen be allowed to minimize?
 

o Are all the fields prompts spelt correctly?
 

o Are all characters or alphanumeric fields left justified? This is the default unless
otherwise specified.
 

o Are all numeric fields right justified? This is the default unless otherwise
specified.
 

o Is all the micro-help text spelt correctly on this screen?
 

o Is all the error message text spelt correctly on this screen?
 

o Is all user input captured in UPPER case or lowercase consistently?
 

o Where the database requires a value (other than null) then this should be
defaulted into fields. The user must either enter an alternative valid value or
leave the default value intact.
 

o Assure that all windows have a consistent look and feel.
 

o Assure that all dialog boxes have a consistent look and feel.


Navigation Conditions:


 

o Can the screen be accessed correctly from the menu?
 

o Can the screen be accessed correctly from the toolbar?
 

o Can the screen be accessed correctly by double clicking on a list control on
the previous screen?
 

o Can all screens accessible via buttons on this screen be accessed correctly?
 

o Can all screens accessible by double clicking on a list control be accessed
correctly?
 

o Is the screen modal? (i.e.) Is the user prevented from accessing other
functions when this screen is active and is this correct?
 

o Can a number of instances of this screen be opened at the same time and is
this correct?

Usability Conditions:



  • Are all the dropdowns on this screen sorted correctly? Alphabetic sorting is
    the default unless otherwise specified.
  • Is all date entry required in the correct format?
  • Have all pushbuttons on the screen been given appropriate Shortcut keys?
  • Do the Shortcut keys work correctly?
  • Have the menu options that apply to your screen got fast keys associated and
    should they have?
  • Does the Tab Order specified on the screen go in sequence from Top Left to
    bottom right? This is the default unless otherwise specified.
  • Are all read-only fields avoided in the TAB sequence?
  • Are all disabled fields avoided in the TAB sequence?
  • Can the cursor be placed in the micro help text box by clicking on the text box
    with the mouse?
  • Can the cursor be placed in read-only fields by clicking in the field with the
    mouse?
  • Is the cursor positioned in the first input field or control when the screen is
    opened?
  • Is there a default button specified on the screen?
  • Does the default button work correctly?
  • When an error message occurs does the focus return to the field in error
    when the user cancels it?
  • When the user Alt+Tab's to another application does this have any impact on
    the screen upon return to the application?
  • Do all the fields edit boxes indicate the number of characters they will hold by
    there length? e.g. a 30 character field should be a lot longer
 Data Integrity Conditions:
 
o Is the data saved when the window is closed by double clicking on the close
box?

o Check the maximum field lengths to ensure that there are no truncated
characters?

o Where the database requires a value (other than null) then this should be
defaulted into fields. The user must either enter an alternative valid value or
leave the default value intact.

o Check maximum and minimum field values for numeric fields?

o If numeric fields accept negative values can these be stored correctly on the
database and does it make sense for the field to accept negative numbers?

o If a set of radio buttons represents a fixed set of values such as A, B and C then what happens if a blank value is retrieved from the database? (In some
situations rows can be created on the database by other functions, which are
not screen based, and thus the required initial values can be incorrect.)

o If a particular set of data is saved to the database check that each value gets saved fully to the database. (i.e.) Beware of truncation (of strings) and
rounding of numeric values.



Modes (Editable Read-only) Conditions:

o       Are the screen and field colors adjusted correctly for read-only mode?

o       Should a read-only mode be provided for this screen?

o       Are all fields and controls disabled in read-only mode?

o       Can the screen be accessed from the previous screen/menu/toolbar in readonly
mode?

o       Can all screens available from this screen be accessed in read-only mode?

o       Check that no validation is performed in read-only mode.


General Conditions:


o       Assure the existence of the "Help" menu.

o       Assure that the proper commands and options are in each menu.

o       Assure that all buttons on all tool bars have a corresponding key commands.

o       Assure that each menu command has an alternative (hot-key) key sequence, which will invoke it where appropriate.

o       In drop down list boxes, ensure that the names are not abbreviations / cut short

o       In drop down list boxes, assure that the list and each entry in the list can be accessed via appropriate key / hot key combinations.

o       Ensure that duplicate hot keys do not exist on each screen

o       Ensure the proper usage of the escape key (which is to undo any changes that have been made) and generates a caution message "Changes will be lost  - Continue yes/no"

o       Assure that the cancel button functions the same as the escape key.

o       Assure that the Cancel button operates, as a Close button when changes have
been made that cannot be undone.

o       Assure that only command buttons, which are used by a particular window, or
in a particular dialog box, are present. – (i.e) make sure they don't work on
the screen behind the current screen.

o       When a command button is used sometimes and not at other times, assures
that it is grayed out when it should not be used.

o       Assure that OK and Cancel buttons are grouped separately from other
command buttons.

o       Assure that command button names are not abbreviations.

o       Assure that all field labels/names are not technical labels, but rather are
names meaningful to system users.

o       Assure that command buttons are all of similar size and shape, and same font & font size.

o       Assure that each command button can be accessed via a hot key
combination.

o       Assure that command buttons in the same window/dialog box do not have duplicate hot keys.

o       Assure that each window/dialog box has a clearly marked default value
(command button, or other object) which is invoked when the Enter key is
pressed - and NOT the Cancel or Close button

o       Assure that focus is set to an object/button, which makes sense according to the function of the window/dialog box.

o       Assure that all option buttons (and radio buttons) names are not
abbreviations.

o       Assure that option button names are not technical labels, but rather are
names meaningful to system users.

o       If hot keys are used to access option buttons, assure that duplicate hot keys do not exist in the same window/dialog box.

o     Assure that option box names are not abbreviations.

o       Assure that option boxes, option buttons, and command buttons are logically grouped together in clearly demarcated areas "Group Box"

o       Assure that the Tab key sequence, which traverses the screens, does so in a logical way.

o       Assure consistency of mouse actions across windows.

Assure that the color red is not used to highlight active objects (many
individuals are red-green color blind).

o       Assure that the user will have control of the desktop with respect to general color and highlighting (the application should not dictate the desktop background characteristics).

o       Assure that the screen/window does not have a cluttered appearance

o       Ctrl + F6 opens next tab within tabbed window

o       Shift + Ctrl + F6 opens previous tab within tabbed window

o       Tabbing will open next tab within tabbed window if on last field of current tab

o       Tabbing will go onto the 'Continue' button if on last field of last tab within
tabbed window

o       Tabbing will go onto the next editable field in the window

o       Banner style & size & display exact same as existing windows

o       If 8 or less options in a list box, display all options on open of list box - should be no need to scroll

o       Errors on continue will cause user to be returned to the tab and the focus should be on the field causing the error. (i.e the tab is opened, highlighting the field with the error on it)

o       Pressing continue while on the first tab of a tabbed window (assuming all
fields filled correctly) will not open all the tabs.

o       On open of tab focus will be on first editable field

o       All fonts to be the same

o       Alt+F4 will close the tabbed window and return you to main screen or
previous screen (as appropriate), generating "changes will be lost" message if necessary.

o       Micro help text for every enabled field & button

o       Ensure all fields are disabled in read-only mode

o       Progress messages on load of tabbed screens

o       Return operates continue

o       If retrieve on load of tabbed window fails window should not open
Specific Field Tests

Date Field Checks:

o Assure that leap years are validated correctly & do not cause
errors/miscalculations.


o Assure that month code 00 and 13 are validated correctly & do not cause
errors/miscalculations.


o Assure that 00 and 13 are reported as errors.
 

o Assure that day values 00 and 32 are validated correctly & do not cause
errors/miscalculations.


o Assure that Feb. 28, 29, 30 are validated correctly & do not cause errors/
miscalculations.


o Assure that Feb. 30 is reported as an error.
 

Assure that century change is validated correctly & does not cause errors/
miscalculations.


o Assure that out of cycle dates are validated correctly & do not cause
errors/miscalculations.

Numeric Fields:


o Assure that lowest and highest values are handled correctly.
 

o Assure that invalid values are logged and reported.
 

o Assure that valid values are handles by the correct procedure.
 

o Assure that numeric fields with a blank in position 1 are processed or reported
as an error.
 

o Assure that fields with a blank in the last position are processed or reported
as an error.
 

o Assure that both + and - values are correctly processed. 

o Assure that division by zero does not occur.
 

Include value zero in all calculations. 

o Include at least one in-range value. 

o Include maximum and minimum range values. 

o Include out of range values above the maximum and below the minimum. 

o Assure that upper and lower values in ranges are handled correctly.

Alpha Field Checks:
 
o Use blank and non-blank data. 

o Include lowest and highest values. 

o Include invalid characters & symbols. 

o Include valid characters. 

o Include data items with first position blank. 

o Include data items with last position blank.
--------------------------------------------------------------------------

0 comments:

Post a Comment