You are currently viewing a snapshot of www.mozilla.org taken on April 21, 2008. Most of this content is highly out of date (some pages haven't been updated since the project began in 1998) and exists for historical purposes only. If there are any pages on this archive site that you think should be added back to www.mozilla.org, please file a bug.



You are here: Mozilla MailNews Functional / UI Tests > Message Filters: Basic Functionality

Feature Test Spec: Mail and News Component

Mail and News Component: Message Filters: Basic Functionality

Written by Laurel Carlson Updated by Esther Goes

Description

This spec is intended to cover basic functionality for user created message filters for mail in simple configurations.
Related features, such as Custom Headers, Prefill Filters, Block Address, After-the-Fact Filtering, Labels are covered in separate testplans -- see mozilla.org mailnews test page.

References:

UI specs: http://www.mozilla.org/mailnews/specs/

Most of the filter tests included in this spec should be run against both IMAP and POP mail servers. News specific criteria and actions should be run on a newsgroup. Some test items are specificly marked or obviously meant for one or the other. (IMAP = I, POP = P, News = N)

Mail Filter Criteria definition
Noun Criteria Verb 1 Verb 2 Verb 3 Verb 4 Verb 5 Verb 6 Verb 7 Verb 8 Object/value type
Sender (I,P,N) contains doesn't contain is isn't begins with ends with is in my address book isn't in my address book text field
Subject (I,P,N) contains doesn't contain is isn't begins with ends with text field
Date (I,P,N) is isn't is before is after . . date (no date widget yet)
Priority (I,P) is higher than is lower than . . . . fixed values in list
Status (I,P) is isn't . . . . fixed values in list
To(I,P)) contains dosesn't contain is isn't begins with ends with text field
Cc (I,P) contains dosesn't contain is isn't begins with ends with text field
To or Cc (I,P) contains dosesn't contain begins with ends with . . text field
Body (P) contains doesn't contain is isn't text field
Age in Days (P) is is greater than is less than text field
Customize.. (I,P). opens dialog for creating
Mail filter action definition
Action Comments
Move to Folder (I,P) Related object or control: Mail folder hierarchy display, also mechanism to create new folder. Should be disabled for News
Label the Message (I,P,N) Related object or control: Dropdown for choice of labels, color & text should coincide with current label configuration specified in main prefs dialog.
Change the priority to: (I,P,N) Related object or control: Fixed values in list
Mark the message as read (I,P,N) No related object or control in dialog.
Marks only that message as read
Flag the message (I,P,N) No related object or control in dialog. Flags only that message.
Delete the message (I,P,N) No related object or control in dialog. For mail deletes only that message (uses IMAP delete model)
For News, message is deleted from the local data base and is not listed in thread pane.
Ignore Thread (N) No Related object or control dialog. Marks message as Ignored
Watch Thread (N) No Related object or control dialog.Marks message as Watched
  1. Create mail filter - Names and descriptions
    1. A blank filter with no information filled in
    2. With no filter name
    3. With no filter description
    4. With no filter name or description
    5. short name
    6. long name
    7. single word name
    8. multiple word name
    9. mixed case name
    10. apha/numeric
    11. special/international characters in name
    12. short description
    13. long description
    14. single word description
    15. multiple word description
    16. mixed case description
    17. special/international characters in description
    18. cut and paste from other sources into name field :
      1. without carriage return
      2. with carriage return
      3. with special characters
  2. Edit Mail Filter
    1. Filter name:
      1. edit to blank
      2. short to long
      3. long to short
      4. single word to multiple word
      5. multiple word to single word
      6. add special/international characters
      7. remove special/international characters
    2. Filter description
    3. First if criteria: edit to sample each criteria
    4. The second if criteria: edit to sample each criteria
    5. Multiple if criteria: edit to sample each criteria
    6. The Action: edit to sample each action
    7. Cancel out modification
  3. Delete Mail Filter
    1. The top mail filter
    2. The middle mail filter
    3. The bottom mail filter
    4. multiple filters
    5. Cancel deletion
  4. Basic Functionality of each filter Criteria (positive/general use situation)
    1. Make sure each criteria and its various verb options generally works in a simple single criteria filter situation
    2. For each text field criteria test filtering these situations (as appropriate to the criteria):
      1. short text string
      2. long text string
      3. single word string
      4. multiple word string
      5. special characters
      6. cut and paste from other sources into text field :
        • without carriage return
        • with carriage return
        • with special characters
    3. For each date criteria test filtering in these situations:
      1. current date
        • month
        • day
        • year
      2. past date
        • month
        • day
        • year
      3. future date
        • month
        • day
        • year
    4. For each priority criteria test filtering for each of the available values:
      1. None
      2. Lowest
      3. Low
      4. Normal
      5. High
      6. Higest
    5. For each status criteria test filtering for each of the available values: (Note: Choice is shown, but not applicable unless using After-the-Fact filtering.)
      1. read
      2. replied
      3. forwarded
    6. For each age in days criteria test filtering for these situations:
      1. 0
      2. single digit
      3. double digit
      4. triple digit
    7. Generally try a custom header criteria filter. Note: Custom Headers covered in separate testplan.
  5. Basic Functionality of each filter Action (positive/general use situation)
    1. Make sure each action generally works with a sampling of each criteria
    2. Make sure each action generally functions in a simple situation
    3. Test the following situations for Move to Folder action:
      1. Move to Inbox on same account
      2. POP: move to top level folder
      3. POP: move to subfolder
      4. POP: move to reserved/special folder:
        • Drafts
        • Sent
        • Templates
        • Trash
      5. IMAP: move to online folder
        • top level
        • subfolder
        • reserved/special folders
      6. IMAP: move to local folder
        • top level
        • subfolder
        • reserved/special folders
      7. Multiple Accounts:
        • move to another account IMAP --> IMAP
        • move to another account IMAP --> POP
        • move IMAP --> "local folders"
        • move to another account POP --> IMAP note: shouldn't be allowed -- see bug 66391
        • move to another account POP --> POP
        • move POP --> "local folders"
        • move to AOL account
        • move to Webmail account
      8. Create New Folder via filter ui for action destination:
        • New Folder unique
        • New Folder duplicate name, should error
        • New folder at top level
        • New folder at sublevel
        • New Folder on same account
        • New Folder on different account
        • Newly created folder should get selected in action dropdown after confirm OK to create
        • Should be able to use Action MoveToFolder dropdown to select other folder after creating new folder
        • Newly created folder should appear in 3-pane mail window's folder pane
    4. Test the following situations for Change Priority action:
      1. None
      2. Low
      3. Lowest
      4. Normal
      5. High
      6. Highest
      7. Same as criteria
    5. Test the following situations for Delete action:
      1. POP
      2. IMAP delete pref settings honored:
        • move to trash
        • mark for deletion
        • delete immediately
      3. filtered message is top level message within a threaded view
      4. filtered message is a reply within a threaded view (test various reply levels)
    6. Test the following situations for Mark Read action:
      1. filtered message is top level message within a threaded view
      2. filtered message is a reply within a threaded view (test various reply levels)
    7. Test the following situations for Flag Message action:
    8. Test the following situations for Label Message action:
      1. test filter with each available label
      2. test filter with label None
      3. test filter to change label (after-the-fact or multiple/"drop-through" filters)
  6. Multiple Criteria Filters (positive/general use situations)
    1. Multiple AND
      1. use multiple AND within one criteria type, i.e. "subject contains foobar" AND "subject contains phooey"
      2. use multiple AND over varied criteria types, i.e. "subject contains foobar" AND "sender is laurel"
    2. Multiple OR
      1. use multiple OR within one criteria type, i.e. "subject contains foobar" OR "subject contains phooey"
      2. use multiple OR over varied criteria types, i.e. "subject contains foobar" OR "sender is laurel"
    3. No provision for use of AND and OR within one filter
  7. Multiple Action Filters (positive/general use situations)
    1. Multiple AND
      1. Single Criteria/ Multiple Actions
        • Test various combinations of 1 of the Criteria listed in table above and at least 2 Actions listed in table above.
    2. Multiple OR
      1. Multiple Criteria /Multiple Actions
        • Test various combinations of at least 2 of the Criteria listed in table above and at least 2 Actions listed in table above.
  8. Message evaluation against multiple filters (Note: Changed since Communicator 4.x. In 6.0 and subsequent releases, incoming messages should continue to be evaluated against filters as ordered in list until such time as a match causes the message to be moved)
    1. Make sure a message which will match more than one filter is evaluated in proper order
    2. Reorder filters and verify matches have applied actions according to the changed order
    3. Make sure message continues to be evaluated until Moved (via MoveToFolder action or Delete)
    4. Make sure message is not evaluated after Move To Inbox
    5. Make sure Move to Inbox has no adverse effects (known problems in early 6.0, now fixed)
  9. Filter Log
    1. UI
      1. Filter Log Button appears on Message Filters window
      2. Filter Log dialog contains:
        • Descriptive text "The Filter Log is a file that documents what filters have been run. Use the check box below to enable logging
        • A check box for enabling
        • A non-editable text area for displaying the filters activity.
        • A Clear Log button - to clear the text from the text area.
        • An OK button
    1. Functionality
    1. Log filter on -- make sure log is generally engaging
    2. Log filter off -- make sure log is inactive when disabled
    3. Make sure sampling of each criteria/action is captured accurately in log file
    4. Remove log file
    5. Log one matching
    6. Log multiple matching
    7. No matching to log
  10. Other basic functionality tests:
    1. Disable filters, download mail and make sure filter is inactive
    2. Criteria in multiple accounts profile change appropriately for different servers
  11. Upgrade test of filters in profiles created in previous releases. (Bug 168553)
    1. Use a profile created with a previous release (i.e. 7.0, 7.01, 7.02 commercial releases)
      1. Verify these filters are not lost due to bug fix.
  12. Migrated filters from 4.x (bug fix 168553 could affect this)
    1. Verify filters work which were migrated from 4.x, try various criteria, values:
      1. disabled filters appropriately disabled/not engaged
      2. destination folders - various sublevels
      3. destination folders - IMAP, local
      4. destination folders - long names, spaces in names
      5. custom headers.
    2. Verify filters from 4.x containing invalid values don't have adverse effects overall. Invalid things to look for:
      1. Ignore Thread (not implemented in 6.x)
      2. Watch Thread (not implemented in 6.x)
      3. ... any more?
  13. Offline state: Note: offline feature is separate testplan, just test simple filter here for sanity check.
    1. Create filter, sample various criteria/actions
    2. Edit filter, sample various criteria/actions
    3. synchronize: verify filters honored for user created filters, sample each criteria/action combination
  14. Error or adverse conditions:
    1. Criteria: Conflicting rules used among different filters: first match takes precedent
    2. Criteria: Conflicting criteria rules used within one filter
    1. Actions: Delete folder which is used as Move to Folder destination
      1. Warning to user is clear that filters are affected
      2. Warning to user is displayed at appropriate time (when deleting folder, not when emptying trash)
      3. Filter is disabled, not deleted.
        • filter rules ui
        • filter file on disk --- rules.dat
      4. Filter action is reset to Inbox (?)
        • filter rules ui
        • filter file on disk --- rules.dat
      5. Filter state should be changed immediately and preserved through exit
        • try sending message to fire filter immediately after delete then exit
        • try exiting without getting messages in same session of delete
      6. top level folder deleted is filter destination folder
      7. sublevel folder deleted is filter destination folder
      8. delete parent of filter destination folder (which should delete destination, too)
      9. try case where filter destination folder is deleted by Drag & Drop to trash
    2. Actions: Rename folder which is used as filter destination
      1. Warning to user is clear that filters are affected
      2. Warning to user is displayed at appropriate time (when renaming folder, no on exit or other time)
      3. Filter is left enabled
        • filter rules ui
        • filter file on disk --- rules.dat
      4. Filter action shows edited name
        • filter rules ui
        • filter file on disk --- rules.dat
      5. Filter state should be changed immediately and preserved through exit
        • try sending message to fire filter immediately after delete then exit
        • try exiting without getting messages in same session of delete
      6. rename a filter destination top level folder
      7. rename a filter destination sublevel folder
      8. rename parent of filter destination folder
      9. try case where folder is moved via Drag & Drop
  15. Prefill sender field based on message selection : Note: prefill filters covered in separate testplan.
  16. Filter After the Fact:
    1. UI - Visibility
      1. Menu item - Verify "Run Filter on Folder" Listed under Tools in the 3-Pane Mail Window and it's enabled. Verify a fly out will list all the Filters for that account (not implemented at this time, bug 203267)
        • Verify there is a fly out off the menu item listing all the filters for the account selected. (not implemented at this time, bug 203267)
      2. Message Filters dialog- Verify there is a "Run Now" button on the Message Filters dialog and a drop down button listing all the folders for the account selected above.
        • Verify disabled when no Filter is listed or selected.
        • Verify enabled when a Filter is selected.
        • Verify this dialog is modeless (can't continue with other tasks until it's closed)
    2. UI -Functionality - Run these tests on IMAP, POP and other type mail account.
      1. Menu item-
        • Create a filter that matches one criteria of a message/s in a mail folder, select the folder, select the option, select "Run All Filters". Verify only messages that meet the criteria is/are moved to the destination folder. Repeat this on a different folder that contains message/s that meet the criteria. Exit and relaunch, verify this filter automatically works on incoming messages that fit the criteria. Note: Subfolder are not included at this time, you need to select the subfolder independently.
        • Create a filter that matches 2 or more criteria of message/s in a mail folder, select the folder, select the option, select "Run All Filters". Verify only messages that meet the criteria is/are moved to the destination folder. Repeat this on a different folder that contains message/s that meet the criteria. Exit and relaunch, verify this filter automatically works on incoming messages that fit the criteria. Note: Subfolder are not included at this time, you need to select the subfolder independently.
        • Create filters that matches one criteria of a message/s in a mail folder, select the folder, select the option, select "Run All Filters". Verify only messages that meet the criteria is/are moved to the destination folder. Repeat this on a different folder that contains message/s that meet the criteria. Exit and relaunch, verify this filter automatically works on incoming messages that fit the criteria. Note: Subfolder are not included at this time, you need to select the subfolder independently.
        • Create filters that matches one criteria of a message/s in a mail folder, select the folder, select the option, select a filter on the llist. Verify only messages that meet the criteria is/are moved to the destination folder. Repeat this on a different folder that contains message/s that meet the criteria. Exit and relaunch, verify this filter automatically works on incoming messages that fit the criteria. Note: Subfolder are not included at this time, you need to select the subfolder independently.
      1. Filter Dialog button-
        1. Create a filter that matches one criteria of a message/s in a mail folder, select the folder, select the option. Verify only messages that meet the criteria is/are moved to the destination folder. Repeat this on a different folder that contains message/s that meet the criteria. Exit and relaunch, verify this filter automatically works on incoming messages that fit the criteria.
        2. Create a filter that matches 2 or more criteria of message/s in a mail folder, select the folder, select the option. Verify only messages that meet the criteria is/are moved to the destination folder. Repeat this on a different folder that contains message/s that meet the criteria. Exit and relaunch, verify this filter automatically works on incoming messages that fit the criteria.