Tuesday 25 August 2015

Desktop Application Standards



Desktop Application Standards


Desktop Application Checklist is covered in three sections –
Section1: Windows Compliance Check
Section2: Screen Validation Checklist
Section3: Others

Section1: Windows Compliance Check, covers the points for ease of use of Application and the basic window’s component properties.

1.1    For Each Application

1. Start Application by Double Clicking on its ICON
The application should start without any problem when the application icon on desktop is double clicked.
2. Select the application and press <Enter>
The other way to get started is selecting the icon on desktop and hitting <Enter> key.
3. The Loading message should show the application name, version number, and a bigger pictorial representation of the icon.
As the application is getting started the loading message should appear in the bigger pictorial representation of the application icon and it should also display the application name and version number.
4. Splash screen should be in the middle of the screen (preferably) and it should not vanish by pressing <Esc>
The pictorial view of the icon is nothing but the splash screen and it should be aligned in the middle of the monitor screen. Also if <ESC> key is pressed, the splash screen should not disappear.
5. No Login is necessary, If applicable – check for the conditions for login.
In some cases, the application will be of general purpose use and there is no authentication required like for e.g. media player application. But if the application is a customized one and security standards are to be maintained then we need to check the login conditions.
The application should allow login only for valid user name and valid password. For rest all combinations of user name and password, user should not be allowed to login.
6. The main window of the application should have the same caption as the caption of the icon in Program Manager (Name of application in program menu and icon name should be same).

After the application is started, the title bar of the window should display the application name as the same caption as it is for the icon in the Program Manager i.e. Start Menu -> Programs -> <Application Name> -> <Application icon “Application Name”>.
7. Check for the Icon of the application with the caption and the application should be opened in the maximized form (Title bar and icon name should be same).
The application window should open in maximized form after launch. The caption in the window title bar should have the same caption as for the icon name.
8. This icon should correspond to the Original Icon under Program Manager.
The application icon should be displayed in the left top corner of the window opened and it should match the icon the Program manager.
9. Closing the application should result in an "Are you sure?" message box and the message box should have a "Question Mark" and should have a proper caption (user requirement).
At the instance of closing the application window, there should be a "Are you sure?" message box prompted for confirmation. There should be a proper caption for the window and a question mark image in the message box as per user requirement.
10. Check for the OK, Cancel button and for default control, and this should be checked using both Cross button of the window and Exit menu option.
In the message box check that OK, Cancel buttons are present and the default cursor lies on OK option. Instead of these two captions for the buttons there can be some other caption like ‘Yes’ ‘No’. Check for the corresponding results for the OK or Cancel action. Check this with the cross button in the top right of the window. Also check this with the Exit option in the menu of the application.
11. Attempt to start application twice this should not be allowed - you should be returned to main Window. (Or else as per the specifications.)
An attempt to start the application again should not allow a new instance to be opened. It should
result in returning to the application window open. (Or else as per the specifications.)
12. On each window, if the application is busy, then the hourglass should be displayed. If there is no hourglass then some enquiry in progress message or in the status bar should be displayed.
For showing the application is processing some request or busy, there should be a hourglass shown in the cursor position. Or else some enquiry in progress message should be displayed in the screen. Another way can be to show the status bar in the lower portion of the screen.

1.2    For Each Window in the Application

1. If Window has a Minimize Button, click it. Window should return to an icon on the Taskbar or within the left bottom of application.
If a child window displays ‘Minimize’ button in the title bar and it is clicked, then window should return to a icon in the task bar or within the left bottom of the main window.
2. The window caption for every application should have the name and icon of the application and the window name - especially the error messages. These should be checked for spelling, English and clarity, especially on the top of the screen and for the sign – question mark, Exclamation, information.
The title bar of window of the application should have the name and icon of the application along with the window name, mainly the error messages window. Check this for spelling, grammar and clarity of look and understanding, especially on the top of the screen. Also check the signs displayed in the message box like exclamation for exclamatory statement, question mark for interrogative statement and so forth.
3. Check that the title of the window makes sense. (Non technical language)
The title in the window should imply the meaning/purpose of the window clearly. Language should be general and not technical.
4. Check all text on window for Spelling/Tense, Grammar, Hot keys, and Alignment.
Check for any spelling, tense or grammar mistake in the text displayed in the window. Check that the window can be accessed using the hot key combination specified and the letters marked in the menu open the same particular window. Also the alignment of the text should be uniform.
5. Use TAB to move focus around the Window. Use SHIFT+TAB to move focus backwards.
6. Tab order should be left to right, and Up to Down within a group box on the screen. 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.
7. If a field is disabled (grayed) then it should not get focus. It should not be possible to select them either with the mouse or by using TAB or hot key. Try this for every grayed control.
8. All text should be left justified, or else as per the specifications.
9. When returning to the previous screen no other screens/applications should appear and check the focus on default control after returning.
At times when returning to the application window from some other screen/application, a small portion of the other application screen is displayed in this screen window. This should not happen. After returning check the focus on default controls.

1.3    Text Boxes

1. Move the Mouse Cursor over all Enterable Text Boxes. Cursor should change from arrow to Insert Bar. If it does not then the text in the box should be gray or non-updateable.
2. Try to overflow the text by typing too many characters - should be stopped or an appropriate error message should be displayed.
3. Check the field width with capitals W. Edges of the letter W should not be cut. "W" is used here as normally W is a wide character and it tends to get truncate when used as last character.
4. Enter invalid characters - Letters in amount fields, try strange characters like +, -{}\]*, blank spaces, etc. in All fields. (Action performed after this should fire a validator)
5. SHIFT and Arrow should Select Characters. Selection should also be possible with mouse. Double Click should select all continuous text in box.

1.4    Option (Radio Buttons)

1. Left and Right arrows should move 'ON' Selection. So, should Up and Down. Select with mouse by
2. By default one of the radio button should be auto-selected.
3. Hitting TAB key should navigate focus to next pane and not to next radio button.
When <TAB> key is hit, the focus should not navigate to the next radio button in the same pane.
It should traverse to the next pane in the window which can be a different grid of radio buttons or text fields etc.

1.5    Check Boxes

1. Clicking with the mouse on the box, or on the text should SET/UNSET the box. SPACE should do the same.

1.6    Command Buttons

The command buttons like ADD, DELETE, and CANCEL etc can be used in the following manner
1.      Click each button once with the mouse - This should activate.
2.      Tab to each button - Press SPACE - This should activate.
3.      Tab to each button - Press RETURN - This should activate.
4.      If there is a Cancel Button on the screen, then pressing <Esc> should activate it.
Following points should also be taken care of -
5.      Assure that command buttons are all of similar size and shape, and same font & size.
6.      Assure that each command button can be accessed via a hot key combination.
For example, for ADD button the hot key CTRL+SHIFT+A is defined, then using this combination, the window for adding a record should be activated/prompted.
7.      Assure that command buttons in the same window/dialog box do not have duplicate hot keys.
Check that of same combination of hot keys should not be used to access more than one command button in the same window. That means there should not be duplicate hot keys.
8.      When a command button is not used sometimes, assure that it is grayed.
Check that the command button is shown grayed out if it is not used in particular cases.

1.7    Drop down List Boxes

1. Pressing the Arrow should give list of options. This List may be scrollable. You should not be able to type text in the box.
In Drop down list box, the list of items should be displayed when the arrow key is pressed when focus is in the box. If list is too long then a scroll bar should be present to access the item in list not visible directly. Dropdown box is a non-editable field.
2. Pressing a letter should take you to the first item in the list starting with that letter.
3. Pressing ‘Ctrl - F4’, should open/drop down the list box.
4. Check for the Horizontal Scrollbar in case the text is going beyond the list control.
5. Whenever complete text is not displayed, tool tip should be made available so that full content can be read properly

1.8    Combo Boxes

1. Should allow text to be entered. Clicking Arrow should allow user to choose from list.
2. Pressing the first letter should display the item accordingly in combo box.
3. Check for the Horizontal Scrollbar in case the text is going beyond the combo control.
4. Pressing Hot key should take the focus in the combo box.

1.9    List Boxes

1. Should allow a single selection to be chosen, by clicking with the mouse, or using the Up and Down Arrow keys.
2. Pressing a letter should take you to the first item in the list starting with that letter.
3. If there is a 'View' or 'Open' button besides the list box then double clicking on a line in the List Box, should act in the same way as selecting an item in the list box, then clicking the command button.
4. Pressing CTRL should work for multiple selections.
The <CTRL+Click> combination should work for doing multiple selections from the list.
5. Force the scroll bar to appear, make sure all the data can be seen in the box. (Check for Both Vertical and Horizontal Scroll Bar)

1.10Grid

1. None of the rows in the grid should get truncated, normally last row in grid gets truncated which should be checked explicitly.
2. Grid data should be completely visible (Column spacing)
3. Allow sorting to grid column data (Unless until specified)
The data in the column can be sorted using click on the column heading, this is only if specified in requirement.
4. Grid should not flicker.
There should not be any flickering of grid on click or cursor/mouse movement.
5. Grid should be refreshed after any operation(e.g Search or sorting)
6. If any editable column is the required field then caption of that column should be followed by an asterisk (' * ')

1.11Label

Following points are to be checked with respect to Labels –
1. All text should be left-justified, followed by a colon next to it.
2. Label captions of required fields should be followed by a red asterisk (' * ') (or with a different color unless specified)

1.12Label message

Following points are to be checked with respect to Label messages –
1.      Previous label message should get cleared while user performs some other action.
2.      Label message should be followed by an “Exclamation mark” i.e. “!”.(unless specified)
3.      Confirmation message should be pop-up while deleting any record.
Section2: Screen Validation Checklist
Section 2 explains the validation part checking for the fields, navigation, data integrity conditions, etc.


2.1 Validation Conditions


1. If the user enters an invalid value and clicks the OK button or does a TAB off the field, is the invalid entry identified and highlighted correctly with an error message.
Check the validation condition message is correctly applied to a field, if user enters an invalid value and tabs out of the field or clicks OK button, then an error message should be shown next to the field.
2.A failure of validation on every field should cause a user error message and focus should go back to that field. The error messages should convey the reason of failures to end-users.
3.Password field should be case sensitive and password should be displayed in asterisk form.
4. If any of the database columns do not allow null values then the corresponding screen fields must be mandatory. E.g. pre-filled values in any form

2.2 Navigation Conditions


1. Can the screen be accessed correctly from the menu and toolbar?
Every menu in the application opens into a form; check that the form is accessed correctly from menu options or from the short cuts in the tool bar of the application.
2. Can the screen be accessed correctly by double clicking on a list control on the previous screen?
3. Can all screens accessible via buttons on this screen be accessed correctly?
Click on buttons in the screen should access the corresponding screen correctly. For e.g. EDIT on <EDIT> button should open the existing record in EDIT mode.
4. The navigation (in both the direction) from a field to another field and one screen to another should happen as given in the design specifications.
For e.g. navigation from one field to another is defined using the <ENTER> key and from one screen to another using <CTRL+SHIFT>


2.3 Usability Conditions

1. Assure that all buttons, field labels/names are not technical labels (Jargons), but rather are names meaningful to system users.
2. Form name and menu name should be same
A form accessed using the menu option should have the same name as seen in the menu list.
3. Required fields validation sequence should be from Left to Right and Top to Bottom (it should validate in the tab order sequence).
For e.g. if there are three invalid entries in a sequence, then the validation messages should not be fired like first for third field, then second for first field and then lastly for the second field. It should be in order of entries entered.
4. Application should work with keyboard if mouse is not attached. It should not get stuck due to absence of mouse.
5. Is the cursor positioned in the first input field or control when the screen is opened?(Default focus)
6. When the user Alt + Tab’s to another application does this have any impact on the screen upon return to the application?

2.4 Data Integrity Conditions


1. Check maximum and minimum field values for numeric fields.
For e.g. for a rate of interest field, the field should have maximum limit of 100%.
In case of decimal, for e.g. just 2 decimal places allowed.
2. 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?
For e.g. if numeric data is accepted by age field, then this is not valid, age is never negative.
If in Accounts software some field accepts negative number then these values should be saved correctly as negative number in database and fetched correctly.
3. If a particular set of data is saved to the database check that each value is saved fully to the database, i.e. Beware of truncation (of strings) and rounding of numeric values.
The values saved in back end should be saved complete and there should not be truncation of string. For e.g. if Name is entered of length 15 characters, then complete name should be saved and it should not happen that the last few characters are truncated and then saved in database.
Also special care should be taken while checking for rounding of. For e.g. if 2.26 is to be rounded of as 2.3 as per specification by the client. But it should not be truncated to just value 2.
4. A transaction can be aborted at any stage and all database changes should be rolled back to state before transaction and should clear affected fields/screens if any.
E.g. A record is opened for editing. Some values are changed and then the change is cancelled, then the data which was there before making any changes to the record should remain as it is.
5. Don’t allow duplicate record while adding or updating considering case sensitivity also
Ensure that blank spaces entered on extreme right and left of valid contents are getting truncated properly (with L-trim and R-Trim code)
For e.g. the entry like Site Name is there and the data entered is ‘Alaska Office 2’.
Now if another entry is made as ‘Alaska office 2’ then such entry should be considered as duplicate. And if blank spaces are entered at the end or starting of the valid contents entered, then it should be trim correctly.
6. Don’t allow deleting master records which have been used in other form - This is the default unless otherwise specified.

2.5 Look and Feel


1. Unnecessary scroll bar and on scrolling down no blank box (space) should be displayed.
If the application form contents occupy complete screen, then there should not be any unnecessary scroll bar displayed in the form. And on scrolling down using mouse or Arrow key, no blank space should be displayed.
2. Assure that the child windows can be cascaded or tiled within the parent window.
Consider, there are more than one child window opened in an application, then check that the child windows are cascaded within the parent window and not outside it.
3. Assure the correctness of the Multiple Document Interface (MDI) of each window - Only the parent window should be modal (All child windows should be presented within the confines of the parent window).
All MDI child forms should be centered to MDI Main and smaller than MDI Main
The child form should open within the main window and should not overlap the main window.
4. Appropriate spaces from the top, bottom, left and right corners of all the forms
All the margins left should be consistent for all the four sides.
5. All controls should be properly aligned with appropriate spacing between them.
6. Assure that the screen/window does not have a cluttered (messy/Hotch potch) appearance.

2.6 Specific Field Tests

2.6.1 Date Field Checks
For Date field check the following points -
1. Assure that leap years are validated correctly & do not cause errors/miscalculations
2. Assure that month code 00 and 13 are validated correctly.
3. Assure that day values 00 and 32 are validated correctly.
4. Assure that Feb. 28, 29, 30 are validated correctly & do not cause errors/miscalculations.

2.6.2 Numeric Fields
1. Check that lowest and highest values are handled correctly.
In case a range of input value is set for a field, then check that on entering the lowest and the highest values there is no unnecessary error displayed and the field allows minimum and maximum value to be entered.
2. Assure that both + and - values are correctly processed.
3. Include value zero in all calculations.
Assure that there is no vague result obtained using zero in calculations like add, subtract, multiply and divide.
4. Include maximum and minimum range values and Include at least one in-range value.
For e.g. If the field allows data 120-1500, then check that input accepts 1500 and 120. But it should not allow entering 6000 in the field. And one with in range value should always be checked like here 1300.
Assure that all invalid values are logged and reported.
5. Include out of range values above the maximum and below the minimum.
Check numeric fields values above and below maximum and minimum boundary value. i.e. for range defined 120-1500 check the values 119 and 1501
2.6.3 Alpha Field Checks
1. For all character/alphanumeric, fields check the field to ensure that there is a character limit specified and that this limit is correct for the specified database size.
For e.g. ‘First Name’ field should allow maximum up to 30 characters and the database size mapped should also be defined as length 30.
2. Include lowest and highest values.
For e.g. for User Name field length is allowed as 10-20 characters then check that the field does not allow 9 or 21 characters. Also check boundary that field allows 11 and 19 characters.
3. Include valid and invalid characters & symbols
Check the fields for valid and invalid data e.g. special symbols. For invalid data there should be proper error message displayed.

 

Section3: Others


3.1 Control Short Keys
Following are the common hot keys used to do the operation like copy, paste, undo etc.
CTRL+Z Undo; CTRL+X Cut; CTRL+C Copy; CTRL+V Paste
CTRL+N New; CTRL+O Open; CTRL+P Print; CTRL+S Save; CTRL+B Bold; CTRL+I Italic; CTRL+U Underline
These shortcuts are suggested for text formatting applications, in the context for which they make sense. Applications may use other modifiers for these operations.
Client satisfaction with a quality product is the main goal of quality assurance people so we have to try in every respect to meet the client expectation and deliver a good product.
To get a quality product delivered to the client, all the discussed points should be thoroughly checked for a desktop application. Some points may vary depending on the client need and specification provided.


For any query or concern feel free to mail us at info@envissolutions.com
visit us @ www.envissolutions.com


1 comment: