Quality is delighting customers
Web Application Testing Checklist
1.1.1 Check that the link takes you to the page it said it would.
1.1.2 Ensure to have no orphan pages (a page that has no links to it)
1.1.3 Check all of your links to other websites
1.1.4 Are all referenced web sites or email addresses hyperlinked?
1.1.5 If we have removed some of the pages from our own site, set up a custom 404 page that redirects your visitors to your home page (or a search page) when the user try to access a page that no longer exists.
1.1.6 Check all mailto links and whether it reaches properly
1.2.1 Acceptance of invalid input
1.2.2 Optional versus mandatory fields
1.2.3 Input longer than field allows
1.2.4 Radio buttons
1.2.5 Default values on page load/reload(Also terms and conditions should be disabled)
1.2.6 Is Command Button can be used for HyperLinks and Continue Links ?
1.2.6 Is all the datas inside combo/list box are arranged in chronolgical order?
1.2.7 Are all of the parts of a table or form present? Correctly laid out? Can you confirm that selected texts are in the "right place?
1.2.8 Does a scrollbar appear if required?
1.3 DATA VERIFICATION AND VALIDATION
1.3.2 At no point of time the system should behave awkwardly when an invalid data is fed
1.3.3 Check to see what happens if a user deletes cookies while in site
1.3.4 Check to see what happens if a user deletes cookies after visiting a site
2. APPLICATION SPECIFIC FUNCTIONAL REQUIREMENTS
2.1 DATA INTEGRATION
2.1.1 Check the maximum field lengths to ensure that there are no truncated characters?
2.1.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?
2.1.3 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.
2.2 DATE FIELD CHECKS
2.2.1 Assure that leap years are validated correctly & do not cause errors/miscalculations.
2.2.2 Assure that Feb. 28, 29, 30 are validated correctly & do not cause errors/ miscalculations.
2.2.3 Is copyright for all the sites includes Yahoo co-branded sites are updated
2.3 NUMERIC FIELDS
2.3.1 Assure that lowest and highest values are handled correctly.
2.3.2 Assure that numeric fields with a blank in position 1 are processed or reported as an error.
2.3.3 Assure that fields with a blank in the last position are processed or reported as an error an error.
2.3.4 Assure that both + and - values are correctly processed.
2.3.5 Assure that division by zero does not occur.
2.3.6 Include value zero in all calculations.
2.3.7 Assure that upper and lower values in ranges are handled correctly. (Using BVA)
2.4 ALPHANUMERIC FIELD CHECKS
2.4.1 Use blank and non-blank data.
2.4.2 Include lowest and highest values.
2.4.3 Include invalid characters & symbols.
2.4.4 Include valid characters.
2.4.5 Include data items with first position blank.
2.4.6 Include data items with last position blank.
3. INTERFACE AND ERROR HANDLING
3.1 SERVER INTERFACE
3.1.1 Verify that communication is done correctly, web server-application server, application server-database server and vice versa.
3.1.2 Compatibility of server software, hardware, network connections
3.2 EXTERNAL INTERFACE
3.2.1 Have all supported browsers been tested?
3.2.2 Have all error conditions related to external interfaces been tested when external application is unavailable or server inaccessible?
3.3 INTERNAL INTERFACE
3.3.1 If the site uses plug-ins, can the site still be used without them?
3.3.2 Can all linked documents be supported/opened on all platforms (i.e. can Microsoft Word be opened on Solaris)?
3.3.3 Are failures handled if there are errors in download?
3.3.4 Can users use copy/paste functionality?Does it allows in password/CVV/credit card no field?
3.3.5 Are you able to submit unencrypted form data?
3.4 INTERNAL INTERFACE
3.4.1 If the system does crash, are the re-start and recovery mechanisms efficient and reliable?
3.4.2 If we leave the site in the middle of a task does it cancel?
3.4.3 If we lose our Internet connection does the transaction cancel?
3.4.4 Does our solution handle browser crashes?
3.4.5 Does our solution handle network failures between Web site and application servers?
3.4.6 Have you implemented intelligent error handling (from disabling cookies, etc.)?
4.1.1 Is the HTML version being used compatible with appropriate browser versions?
4.1.2 Do images display correctly with browsers under test?
4.1.3 Verify the fonts are usable on any of the browsers
4.1.4 Is Java Code/Scripts usable by the browsers under test?
4.1.5 Have you tested Animated GIFs across browsers?
4.2 VIDEO SETTINGS
4.2.1 Screen resolution (check that text and graphic alignment still work, font are readable etc.) like 1024 by 768, 600x800, 640 x 480 pixels etc
4.2.2 Colour depth (256, 16-bit, 32-bit)
4.3 CONNECTION SPEED
4.3.1 Does the site load quickly enough in the viewer's browser within 8 Seconds?
4.4.1 Text and image alignment
4.4.2 Colours of text, foreground and background
4.4.3 Scalability to fit paper size
4.4.4 Tables and borders
4.4.5 Do pages print legibly without cutting off text?
User Interface Testing Checklist
1. USER INTERFACE
1.1.1 Are hyperlink colors standard?
1.1.2 Are the field backgrounds the correct color?
1.1.3 Are the field prompts the correct color?
1.1.4 Are the screen and field colors adjusted correctly for non-editable mode?
1.1.5 Does the site use (approximately) standard link colors?
1.1.6 Are all the buttons are in standard format and size?
1.1.7 Is the general screen background the correct color?
1.1.8 Is the page background (color) distraction free?
1.2.1 All fonts to be the same
1.2.2 Are all the screen prompts specified in the correct screen font?
1.2.3 Does content remain if you need to go back to a previous page, or if you move forward to another new page?
1.2.4 Is all text properly aligned?
1.2.5 Is the text in all fields specified in the correct screen font?
1.2.6 Is all the heading are left aligned
1.2.7 Does the first letter of the second word appears in lowercase? Eg:
1.3.1 Are all graphics properly aligned?
1.3.2 Are graphics being used the most efficient use of file size?
1.3.3 Are graphics optimized for quick downloads?
1.3.4 Assure that command buttons are all of similar size and shape, and same font & font size.
1.3.5 Banner style & size & display exact same as existing windows
1.3.6 Does text wrap properly around pictures/graphics?
1.3.7 Is it visually consistent even without graphics?
1.4.1 Is all the error message text spelt correctly on this screen?
1.4.2 Is all the micro-help text(i.e tool tip) spelt correctly on this screen?
1.4.3 Microhelp text(i.e tool tip) for every enabled field & button
1.4.4 Progress messages on load of tabbed(active screens) screens
1.5.1 Are all disabled fields avoided in the TAB sequence?
1.5.2 Are all read-only fields avoided in the TAB sequence?
1.5.3 Can all screens accessible via buttons on this screen be accessed correctly?
1.5.4 Does a scrollbar appear if required?
1.5.5 Does the Tab Order specified on the screen go in sequence from Top Left to bottom right? This is the default unless otherwise specified.
1.5.6 Is there a link to home on every single page?
1.5.7 On open of tab focus will be on first editable field
1.5.8 When an error message occurs does the focus return to the field in error when the user cancels it?
1.6.1 Are all the field prompts spelt correctly?
1.6.2 Are fonts too large or too small to read?
1.6.3 Are names in command button & option box names are not abbreviations.
1.6.4 Assure that option boxes, option buttons, and command buttons are logically grouped together in clearly demarcated areas "Group Box"
1.6.5 Can the typical user run the system without frustration?
1.6.6 Do pages print legibly without cutting off text?
1.6.7 Does the site convey a clear sense of its intended audience?
1.6.8 Does the site have a consistent, clearly recognizable "look-&-feel"?
1.6.9 Does User cab Login Member Area with both UserName/Email ID ?
1.6.9 Does the site look good on 640 x 480, 600x800 etc.?
1.6.10 Does the system provide or facilitate customer service? i.e. responsive, helpful, accurate?
1.6.11 Is all terminology understandable for all of the site’s intended users?
GUI Testing Checklist
Purpose of this GUI Testing Checklist is to help you understand how your application can be tested according to the known and understood standards for GUI. This checklist can give some guidance to the development and QE, both the teams. Development team can make sure that during the development they follow guidelines related to the compliance, aesthetics, navigation etc. but onus of testing GUI is on the QE team and as a tester it is your responsibility to validate your product against GUI standards followed by your organization. This GUI test checklist can ensure that all the GUI components are thoroughly tested. In the first part of this checklist, we will cover Windows compliance standard and some test ideas for field specific tests.
Windows Compliance Standards
These compliance standards are followed by almost all the windows based application. Any variance from these standards can result into inconvenience to the user. This compliance must be followed for every application. These compliances can be categorized according to following criteria
Compliance for each application
Application should be started by double clicking on the icon.
Loading message should have information about application name, version number, icon etc.
Main window of application should have same caption as the icon in the program manager.
Closing of the application should result in “Are you sure?” message.
Behaviour for starting application more than once must be specified.
Try to start application while it is loading
On every application, if application is busy it should show hour glass or some other mechanism to notify user that it is processing.
Normally F1 button is used for help. If your product has help integrated, it should come by pressing F1 button.
Minimize and restoring functionality should work properly
Compliance for each window in the application
Window caption for every application should have application name and window name. Specially, error messages.
Title of the window and information should make sense to the user.
If screen has control menu, use the entire control menu like move, close, resize etc.
Text present should be checked for spelling and grammar.
If tab navigation is present, TAB should move focus in forward direction and SHIFT+TAB in backward direction.
Tab order should be left to right and top to bottom within a group box.
If focus is present on any control, it should be presented by dotting lines around it.
User should not be able to select greyed or disabled control. Try this using tab as well as mouse.
Text should be left justified
In general, all the operations should have corresponding key board shortcut key for this.
All tab buttons should have distinct letter for it.
Move mouse to textbox and it should be changed to insert bar for editable text field and should remain unchanged for non-editable text field.
Enter invalid characters, special characters and make sure that there is no abnormality.
User should be able to select text using Shift + arrow keys. Selection should be possible using mouse and double click should select entire text in the text box.
Only one should be selected from the given option.
User should be able to select any button using mouse or key board
Arrow key should set/unset the radio buttons.
User should be able to select any combination of checkboxes
Clicking mouse on the box should set/unset the checkbox.
Spacebar should also do the same
All buttons except OK/Cancel should have a letter access to them. This is indicated by a letter underlined in the button text. The button should be activated by pressing ALT
Clicking each button with mouse should activate it and trigger required action.
Similarly, after giving focus SPACE or RETURN button should also do the same.
If there is any Cancel button on the screen, pressing Esc should activate it.
Drop down list boxes
Pressing the arrow should give list of options available to the user. List can be scrollable but user should not be able to type in.
Pressing Ctrl-F4 should open the list box.
Pressing a letter should bring the first item in the list starting with the same letter.
Items should be in alphabetical order in any list.
Selected item should be displayed on the list.
There should be only one blank space in the dropdown list.
Similar to the list mentioned above, but user should be able to enter text in it.
Should allow single select, either by mouse or arrow keys.
Pressing any letter should take you to the first element starting with that letter
If there are view/open button, double clicking on icon should be mapped to these behaviour.
Make sure that all the data can be seen using scroll bar.
Test plan is probably one of the most significant document for software testing projects. Test plan may contain information related to scope, environment, schedule, risk, resources, execution, reporting, automation, completion criteria etc. Test plan is usually created by Test Manager, Test Lead or senior testers in the team. Before start preparing Test Plan, information should be captured from various stakeholders of the project. Information captured from stake holder is reflected in the Test Plan. Typically, every Test Plan contain information about following activities. Information about these activities can be gathered from various stakeholders by asking questions that are required for your Test Plan.
Scope Management: Before starting Test Planning activity, scope of the test activities should be known. You should have information on what features will be tested and what will not be tested. You should also have information on what areas your team is owning? Are you taking care of all the types of testing that is required for the product including Performance, Security, globalization etc. Defining scope for your testing project is very important for the management as well. If scope is properly defined, every one will have clear understanding about what is tested and what is not.
Reference: You should clearly define documents you are referring to prepare test plan. Any changes in the documents you are referring should be reflected in your plan.
Risk Management: Test strategy is derived from the risk analysis. Risk will be different from one project to another and so your Test strategy. Risk associated with a desktop tax calculation software will be different from payment gateway or life support system. In your testing strategy, you need to make sure that all the potential risks are captured and managed by your testing activities. You should, along with the other stake holders define what are the potential risk in the project? What will be the impact if these risks are materialized? What is the mitigation plan for these risks and how your testing activities are making sure that these risks are managed properly.
Test Environment: You should have information on what will be the environment for the testing. This information is captured from stake holders by asking them, What type of environment will be supported by product? What is the priority for these environment? For example, If product is supported on all the platform and data for user distribution says that 80 percent are on Windows, 15 percent are on Linux and 5 percent are on Mac. From this data you can make out which platform will be tested more. Information captured here will be useful for planning hardware and software requirement for your Test Lab.
Criteria Definition: Criteria for Entry and Exit should be clearly defined for every activity of your testing project. You should have well defined entry/exit criteria for starting, stopping, suspending and resuming test activities. You should also have criteria defined for specifying when testing is complete.
Estimation, Scheduling and Resource Management: Mostly, testing project follows development activities. So for estimation and scheduling you should have information on the development plan and milestone. Once you have information on the development plan, you can schedule your testing activities accordingly. Resources in testing projects include hardware, software and people management.
Testing Tools and Automation: You should have information about what tools you are using to manage your testing activities. You should have information on the configuration management for test artifacts, test case management tool, defect tracking system, tools for automation etc. Ideally, test automation should be treated as separate project and you should have brief information here along with the link to automation plan.
Execution and Reporting: In this section you should have information on how execution will be managed for the various testing activities. What kind of reports you are planning to generate from the data that you gather from test activities. This should have information on the various matrixes and how they should be interpreted.
Release Criteria: This should clearly state release criteria for the product. Criteria defined here should be clear and measurable. For example instead of saying product should be stable, you can say No P1 defect should be reported for at-least two weeks, No regression defect sho
That's really a nice post you have provided.Thanks for sharing the information.The main thing in web app testing is the checking of security vulnerability.This is the area where major tests fails to get flaw.However, obtaining the real cost benefit of security test activities has been a difficult task.
Thanks for sharing such a important check list to test a web based application.
Mahadev Kumar Sahu