Primary web testing guideline

Occasionally, you are working in some projects that you need to execute exploratory testing. Why? Well, there are different answers for this. From my point of view and based on my experience, you may need to execute exploratory testing when:

Lack of time
Great knowledge of the product, but it frequently changes;
Agile environment, small changes, no time to update or re-write test cases;
Incomplete or unclear requirements;
Short time frame to learn about a complex system.


We can found a lot of situations where exploratory testing is suitable. Usually, testing is a combination of exploratory testing with scripted testing. When you are performing exploratory testing, the most part of time this are multi-disciplinary, customer-focused activity. In fact, it is an enjoyable activity too, because instead of spend a lot of time reading documentation, you can discovered by your own way how system works in practice.
I would like to share with you some of web-based / front-end primary testing guideline “checklist” that could be useful when working with exploratory testing or writing test cases:

Links:

  • Check that the link takes you to the page it said it would.
  • Ensure to have no orphan pages (a page that has no links to it)
  • Forms:

  • Acceptance of invalid input
  • Optional versus mandatory fields
  • Input longer than field allows (try copy/paste)
  • Does a scrollbar appear if required?
  • Layout / Position / Style
    1. Titles, sections, labels and fields are in correct position on the page (e.g. left right or centred, not overlapping);
      Conforms to style standards such as colour, font, and text size.
      Is all the data inside list arranged in chronological order?

  • Spelling and Grammar
    1. Check spelling, grammar, punctuation;
      Check capitalisation of words.

  • Defaults / Auto-population

    1. Correct values are populated depending on conditions; correctly displayed; either editable or non-editable;
      Correct layout and style.

  • Word and line wrap
    1. All text and sentences wrap correctly (including punctuation) onto the next line if necessary;
      Test when the page is zoomed in / text is a larger size / other objects are on the page.

  • Date and Time / Date format & Invalid dates
    1. Date and time are correctly converted and formatted; (Consider various date formats such as MM/YYYY and MMM/YY);
      Check if invalid dates (30 Feb) values are not accepted in fields;
      Correct boundary dates/times; Test: seconds, minutes, AM, PM, days, months, years;

  • Email address formats
    1. Users are able to review/double-check the email address that was entered;
      All valid email address formats are accepted;
      Invalid email address formats are rejected:

      abc@example@host.net – Two at signs (@) are not allowed.
      Abc.example.com – Character @ is missing.
      Abc.@example.com – Character dot (.) is last in local part.
      .abc@host.net – Leading dot (.) is not allowed.
      abc@-host.net – Leading dash (-) is not allowed on domain name.
      abc@host.web – (web) is not a valid top level domain.
      abc@[10.0.3.1999] – Invalid IP address.
      Abc..123@example.com – Character dot (.) is double.
      () []\ ;:,<>@example – None of these characters are allowed.

  • Cut, Copy and Paste operations
    1. Editable fields allow for cut, copy and paste operations from one field to another, or another application to the webpage;
      Test: Microsoft Word/Excel application, other websites.
      Text, numbers and dates are handled correctly when through different systems.

  • Numerical Rounding
    1. Test rounding of integers and decimal numbers;
      If the fraction of y is exactly .5, then Q = y + 0.5. The value 23.5 gets rounded to 24, but -23.5 gets rounded to -23.
      Decimal amounts:

      Numbers after the decimal point (10.8, 9.88, 11.123)
      Numbers before the decimal point (.45)
      2-decimal number ending in zero (100.50)

  • Numerical Calculation
    1. Feed a variety of numerical figures (large, small, decimal, integer, negative) into calculations to check the calculation is performed correctly;
      Test all variables associated with the calculation;
      Test valid & invalid numbers, invalid formats (such as text).
      Date Calculation:

      Test: earliest / latest possible, highest month, lowest day and different format date to check the calculation is performed correctly;
      Test all variables associated with the calculation; Test valid & invalid numbers, invalid formats.
      Check digits and Modulus Numbers:
      Bank account, IRD number fields.

    Data Validation:

  • Check to see what happens if a user deletes cookies while in site and after visiting a site as well.
  • Check the maximum field lengths to ensure that there are no truncated characters.
  • Check if numeric fields accept negative values can these be stored correctly on the database.
  • Check if a particular set of data is saved to the database check that each value gets saved fully to the database.
  • Assure that leap years are validated correctly & do not cause errors/miscalculations.
  • Assure that Feb. 28, 29, 30 are validated correctly & do not cause errors
  • Selection / Drop-down lists / Combo boxes:
    1. Correct sort order of values;
      Correct population based on conditions;
      Non-editable;
      Each selection results in the correct action/data;
      Correctly sized; scrolls if applicable;
      All values are visible and selectable.

  • Radio buttons:
    1. Correct functionality when each option is selected;
      Correct wording of question and answers;
      Selection is saved when page is completed;
      Radio buttons are mutually exclusive – only one radio button can be selected at a time;
      Correct default selection when user first enters page.

  • Check boxes:
    1. Correct functionality when checked/unchecked;
      Selections are saved when page is saved/completed;
      Each checkbox is independent of the others;
      Multiple check boxes can be selected at a time;

  • Text fields – One line only:
    1. Correct field width and height;
      Accepts correct amount of characters;
      Correct font, text size and style.

  • Textboxes – Multi-line
    1. Correct field width and height;
      Accepts correct amount of characters;
      Correct font, text size and style;
      Scroll bar when necessary;
      Character counter correct;
      Test copy and pasted text, line enters, tab.

  • Mandatory / Optional fields:
    1. Mandatory fields must have data entered when page is completed;
      Mandatory fields have red asterisks, optional fields do not;

  • Alpha, Numeric, Symbols and Punctuation:
    1. Financial & numerical fields accept only numbers;
      Strictly alpha-numeric fields do not accept symbols, punctuation or other characters;
      Test upper & lower case alpha characters;
      Test phone # field
      Scientific Notation

  • Positive, Negative and Zero values:
    1. Numeric fields accept positive, negative figures or both;
      Zero amounts are accepted or rejected;
      Test: positive and negative integers, decimals and fractions.

  • Minimum & Maximum character length:
    1. Field accepts correct minimum amount of characters and correct maximum amount of characters (e.g. a phone number must have at least 7 characters and a maximum of 16).

  • SQL & HTML injection / delimiters:
    1. Enter SQL strings and HTML tags (code injection);
      Test delimiter characters (and combinations) such as commas, square brackets, angle brackets, single and double quote marks.

  • Special / Macrons / Accented characters:
    1. Enter foreign characters;
      Enter macrons (/ˈmækrɒn, ˈmeɪ-/) and accented characters (á, é, í, ó, ú, ü, ñ, ¿, ¡)

  • Spaces / Leading spaces / Blanks:
    1. Leave text, date and numerical fields blank;
      Insert 1 space,
      Insert multiple spaces;
      Insert a leading space before a valid entry.

  • Error handling
    1. Validations + errors match what is handled in different systems;
      Error occurs when specified and only when specified;
      Correct error code is displayed (if applicable);

  • Error messages:
    1. Error message is displayed/not displayed according to specifications;
      Displayed in correct location/position;
      Heading and message are correct; Spelling, grammar and capitalisation are correct; Correct font, text size, colour and style;
      Follows validation standards;
      Hyperlink links to the area where the error has occurred.
      Does not display once the error is fixed.

  • Navigation after errors:
    1. Errors either prevent user from continuing, or enable user to correct the problem and then continue;
      Errors do not leave the user with a dead-end or a never-ending loop;
      When the error is corrected it does not affect further navigation/options/conditions.)

    Usability

  • Check if fonts are too large or too small to read;
  • Verify if the typical user run the system without frustration;
  • Does the site look good on 640 x 480, 600×800 and so on?
  • Navigation

  • Check if all disabled and read-only fields avoided in the TAB sequence;
  • Check if a scrollbar appear if required;
  • Verify if on open of tab focus will be on first editable field;
  • Verify if when an error message occurs, does the focus return to the field in error when the user cancels it;
  • Test all supported browsers:
    1. Check if the HTML version being used compatible with appropriate browser versions;

  • Buttons:
    1. Correct functionality;
      Correct position of all Buttons;
      Conditional visibility (e.g. when JavaScript is off);
      Conditionally enabled/disabled;
      Correct style; Correct wording;
      Buttons explain what they do (e.g. “Save” explains better than “OK”);
      Click on the button multiple times (e.g. when transferring or updating data/submitting a form).

  • Hyperlinks:
    1. Correct link functionality;
      External site link opens in a new window/tab;
      Location on the page;
      Correct position;
      Correct wording.

  • JavaScript On/Off:
    1. Test: JavaScript off and on for all pages, functions (including delete, calculations and errors).

    Browsers, Compatibility, Operating Systems:

  • Test the pages on different browsers & operating systems:
    1. Internet Explorer – Windows
      Mozilla Firefox – Windows, Mac, Linux
      Opera – Windows, Mac, Linux
      Safari – Mac
      Google Chrome – Windows

  • Is the product viewed/compatible with Mobile Phones?
  • Back and Refresh:
    1. Select the back button on the browser when testing the web product and then the forward button;
      Refresh the page when data has been entered/saved or an error has displayed.

  • Bookmark / URL / Browser:
    1. Save the URL in browser “Bookmarks” / “Favorites”.
      Come back to it later when logged in / logged out;
      Verify the same URL work for different users;
      Check if it work if the user is no longer eligible to see that service/page?
      Set cookies off, on;
      Test expiry date.
      Set browser security to high, low.
      Resize the browser window (maximum/restore) – check that all page components sit in the correct place;
      Timeouts / JavaScript pop-up warnings;
      Pop-up messages follow correct formatting and message specifications.
      Zoom in and out of the page;
      Change the font size in different browsers

  • Output / Printable Version:
    1. Compare printable versions, outputs to given specifications;
      Look at PDF, RTF, CSV, Special/Macron/Accented characters;
      Downloadable documents;
      Printing the page from the browser.

  • Tables:
    1. Check Table layout / Table headings / Table data / Table order

  • Calendars:
    1. Calendar style, text and layout is correct;
      Highlighted/selected dates are correct;
      Test: JavaScript off.

  • Sequence & Doubling up:
    1. Complete pages/functions/submissions in a different order than expected;
      Execute the same action multiple times;
      Click on buttons multiple times (e.g. when transferring or updating data/submitting a form);
      Open multiple instances
      Log on at the same time to an application in different browser windows and computer terminals.

  • Unique identifiers / keys / Duplicates:
    1. Check primary keys and what happens if they are exactly the same (e.g. check if date of birth / IRD number is used).

  • Computer clock change:
    1. Test the system over weekends, public holidays;
      Consider both AM and PM, midnight and early morning times;
      Alter the user and system time/date;

    Interface

  • If the user leave the site in the middle of a task does it cancel?
  • If Internet connection has been lost, does the transaction cancel?
  • Check Different screen resolution (check that text and graphic alignment still work, font are readable etc.) like 1024 by 768, 600×800, and 640 x 480 pixels.
  • Does the first letter of the second word appears in lowercase?
  • Security

  • Is bookmarking disabled on secure pages?
  • Is Right Click, View, Source disabled?
  • Are you prevented from doing direct searches by editing content in the URL?
  • Does your server lock out an individual who has tried to access your site multiple times with invalid login/password information?
  • Test both valid and invalid login names and passwords. Are they case sensitive?
  • Is there a limit to how many tries that are allowed?
  • Can it be bypassed by typing the URL to a page inside directly in the browser?
  • Leave a Reply

    Your email address will not be published. Required fields are marked *

    *
    *
    Website