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:
- 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?
- Check spelling, grammar, punctuation;
- Check capitalisation of words.
- Correct values are populated depending on conditions; correctly displayed; either editable or non-editable;
- Correct layout and style.
- 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 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;
- 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@email@example.com – Two at signs (@) are not allowed.
- Abc.example.com – Character @ is missing.
- Abc.@example.com – Character dot (.) is last in local part.
- .firstname.lastname@example.org – Leading dot (.) is not allowed.
- abc@-host.net – Leading dash (-) is not allowed on domain name.
- email@example.com – (web) is not a valid top level domain.
- abc@[10.0.3.1999] – Invalid IP address.
- Abc..firstname.lastname@example.org – Character dot (.) is double.
- () \ ;:,<>@example – None of these characters are allowed.
- 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.
- 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)
- 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.
- Correct sort order of values;
- Correct population based on conditions;
- Each selection results in the correct action/data;
- Correctly sized; scrolls if applicable;
- All values are visible and selectable.
- 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.
- 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;
- Correct field width and height;
- Accepts correct amount of characters;
- Correct font, text size and style.
- 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 fields must have data entered when page is completed;
- Mandatory fields have red asterisks, optional fields do not;
- 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
- Numeric fields accept positive, negative figures or both;
- Zero amounts are accepted or rejected;
- Test: positive and negative integers, decimals and fractions.
- 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).
- 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.
- Enter foreign characters;
- Enter macrons (/ˈmækrɒn, ˈmeɪ-/) and accented characters (á, é, í, ó, ú, ü, ñ, ¿, ¡)
- Leave text, date and numerical fields blank;
- Insert 1 space,
- Insert multiple spaces;
- Insert a leading space before a valid entry.
- 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 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.
- 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.)
- Check if the HTML version being used compatible with appropriate browser versions;
- Correct functionality;
- Correct position of all Buttons;
- 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).
- Correct link functionality;
- External site link opens in a new window/tab;
- Location on the page;
- Correct position;
- Correct wording.
Browsers, Compatibility, Operating Systems:
- Internet Explorer – Windows
- Mozilla Firefox – Windows, Mac, Linux
- Opera – Windows, Mac, Linux
- Safari – Mac
- Google Chrome – Windows
- 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.
- 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;
- Pop-up messages follow correct formatting and message specifications.
- Zoom in and out of the page;
- Change the font size in different browsers
- Compare printable versions, outputs to given specifications;
- Look at PDF, RTF, CSV, Special/Macron/Accented characters;
- Downloadable documents;
- Printing the page from the browser.
- Check Table layout / Table headings / Table data / Table order
- Calendar style, text and layout is correct;
- Highlighted/selected dates are correct;
- 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.
- Check primary keys and what happens if they are exactly the same (e.g. check if date of birth / IRD number is used).
- Test the system over weekends, public holidays;
- Consider both AM and PM, midnight and early morning times;
- Alter the user and system time/date;