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.



Feature Testspec

Project: Messenger 5.0 (seamonkey)
Mail and News component
Offline: Basic Functionality - MAIL

Disclaimer: This testplan was written based on the 4.5 Offline feature set. It is my understanding offline will stay the same in Seamonkey.

The testcases outlined in this document are intended for coverage of basic mail functionality when involved with Offline use. Covered in separate test specs are cases for General Offline UI, News Oriented offline cases.

This document covers the basic offline functionality of simple single mail server configurations.

Written by: Laurel Carlson
Last Modified and Change Description:

01/06/99 initial write-up with content
01/11/99 minor changes
02/03/99 various changes
02/18/99 added section for operation playback to server
03/11/99 added some references in filtering section to other test specs, added some bullets for fax/other service interactions
03/30/99 various changes
04/16/99 selected & flagged cases


Most of the functionality cases here should be tested against various version/type mail servers. Given the time constraints in our overall schedule, it is not anticipated that each and every testcase could be run against each and every mail server variety -- it is just not possible to do so with our given testing resources. It is more likely that a basic sampling of cases would be run against a sample of server types.

Overall testing instruction: Each testcase should be done with a verification of how the action behaves when in offline mode and again how it is merged/played back when going back to the online state.

  1. General UI tests-- covered under separate test spec Offline: General UI.
  2. Offline Preferences: overall look -- covered within the UI test spec Offline: General UI.
  3. Offline preferences particular to mail usage: Exercise each option to make sure it's working
    1. Startup state: Ask Me -- verify when this is set, you are prompted for online state upon startup
    2. Startup state: Remember last state -- verify when this is set, Communicator starts with appropriate state
      1. in online state before exit, starts in online state
        • check state in all windows on startup
      2. in offline state before exit, starts in offline state
        • check state in all windows on startup
    3. Prefs|Offline|When going online/unsent message prompt: General working order cases here, more specific unsent cases in Unsent Message section.
      1. Ask me: verify you are asked about sending unsent messages when going online when you've got unsent news messages
        • If answered Yes/OK --> verify unsent messages are indeed sent, unsent message folder cleared
        • If answered No/Cancel --> verify unsent messages are not sent, messages stay in unsent message folder
      2. Ask me: verify you are not asked about sending unsent messages when going online when there are no unsent messages
        • you've not created any unsent messages
        • you had some unsent messages, but deleted them from the unsent folder (without attempting to send)
      3. Automatically Send: verify unsent news messages are sent when going online without user interference (unless some error occurs), unsent folder cleared.
      4. Don't send: verify unsent messages are not sent, unsent message folder not cleared.
    4. Exit Communicator: prompt to synchronize messages
      1. enabled condition -- prompts appropriately when exiting from any window
      2. disabled condition -- doesn't prompt
  4. Testing the process/access of going offline for mail use: basic tests for each procedural component to make sure each is working
    1. Select items: select at least one mail folder
      1. access from main menu item/main mail window
      2. access through preferences
      3. access through properties
    2. Verify clicking synchronize without anything selected has no adverse effects
    3. Synchronize without going offline -- verify online state is maintained after synch
    4. Synchronize and go offline -- verify state is offline after synch
    5. Synchronize and do not send unsent messages (disabled) -- verify unsent messages are not sent after synch
    6. Synchronize and do send unsent messages (enabled) -- verify unsent messages are sent
    7. Cancel synchronize process at various places in process -- verify no adverse effects. (Ref: #324950 for 4.5)
      1. Cancel and do some other process (not offline related)
      2. Cancel and do same offline process as was cancelled
      3. Cancel and do some other offline process
    8. During a synchronization set to not go offline after completed, click the offline indicator/icon (while synch still in progress -- ref #323846)
    9. Verify progress dialogs appear and for each:
      1. Identifies what process is ongoing
      2. Identifies what folder/object the process is being applied
      3. identifies what point in the process you're at -- thermometer
      4. has a cancel button
  5. Synchronize
    1. empty mail folder
    2. mail folder with a couple messages
    3. mail folder with approx. 50 - 100 messages
    4. mail folder with 1000+ messages
    5. mail folders at different hierarchy levels
    6. full subhierarchy(ies) of folders
    7. synchronize with spam filtering on affecting the synched folders(s) Note: spam filtering may or may not make final feature set for Seamonkey
    8. synchronize with user filters in place affecting the synched folder(s)
    9. synchronize when filters in place utilizing fax or other service options Note: such service integration features may or may not make final feature set for Seamonkey
  6. Get/Synch Selected Messages
    1. from messenger window
    2. from standalone message window
    3. when single selection
    4. when multiple messages selected
    5. synch various selected message types:
      1. short message
      2. long message
      3. with attachments:
        • vcards
        • forwarded messages
        • graphics attachments: gif, jpeg, etc.
        • text file attachments
        • attached web pages
        • html with inserted images
      4. <other type of messages>
  7. Get/Synch Flagged Messages
    1. from messenger window
    2. from standalone message window
    3. when single message is flagged
    4. when multiple messages flagged
    5. synch various flagged message types:
      1. short message
      2. long message
      3. with attachments:
        • vcards
        • forwarded messages
        • graphics attachments: gif, jpeg, etc.
        • text file attachments
        • attached web pages
        • html with inserted images
      4. <other type of messages>
  8. Folders -- basic operations positive/success situations in offline state: Test each operation in offline state then verify it's handled appropriately when going online again.
    1. Create
      1. top level folder
      2. subfolder
      3. multiple folders - in same subhierarchy, different levels
      4. multiple folders - in different hierarchies
      5. variety of folder names:
        • long
        • short
        • mixed case
        • special characters
        • multiple words
      6. Undo
    2. Delete
      1. top level folder
      2. subfolder
      3. multiple folders - in same subhierarchy, different levels
      4. multiple folders - in different hierarchies
      5. folder(s) which were created in same offline session
      6. Undo
    3. Rename
      1. top level folder
      2. subfolder
      3. multiple folders - in same subhierarchy, different levels
      4. multiple folders - in different hierarchies
      5. folder(s) which were created in same offline session
      6. variety of renaming cases:
        • short name to long/long name to short
        • add/delete special characters
        • change case
      7. Undo
    4. Move folder
      1. top level folder
      2. subfolder
      3. multiple folders - in same subhierarchy, different levels
      4. multiple folders - in different hierarchies
      5. folder(s) which were created in same offline session
      6. Undo
    5. Empty trash
      1. trash for online folder
      2. local trash
      3. trash contains messages only
      4. trash contains folder
      5. trash contains mix of messages and folders
    6. Compact folder(s)
      1. online folder
      2. local
      3. all folders
      4. IMAP: delete model variations
  9. Folders -- basic operations error/negative situations in offline state: verify handling in offline state and proper folder display when back online
    1. Create
      1. folder already exists
      2. folder creation not allowed (some IMAP servers' rules -- see IMAP or Folders:Create testspec for ideas)
    2. Delete
      1. special/reserved Communicator folders
      2. special IMAP folders (some IMAP servers' rules -- see IMAP or Folders:Create testspec for ideas)
      3. same folder name already in trash
    3. Rename
      1. folder name already exists
      2. blank
    4. Move folder
    5. Empty trash
    6. Compact folder(s)
    7. IMAP folder subscription
      1. should not contact server for subscription list
      2. should be graceful, fairly clear handling to user that this is unavailable when offline
  10. Messages -- basic operations positive/success situations in offline state:
  11. Overall testing instruction: wherever applicable, message commands should be tested in main Messenger window and in any separate message windows.
    1. Compose Mail messages -- some cases may be itemized here, but comprehensive coverage under separate test spec Offline: Composition.
    2. Get Messages -- using Get Message, not Synchronize (synchronize is the process to download messages for offline use)
      1. using Get New Messages should remind user they're in offline state and ask if they want to go online to get messages
        • answer Yes --> Go online and new message retrieval begins
        • answer No --> should remain offline and client in usable state, no adverse effects
    3. Read/Navigate messages
      1. spacebar reading/navigation
      2. next message
      3. next unread within folder
        • next unread message
        • next unread thread
      4. next unread which will take across folder(s)/group(s)
        • next unread message
        • next unread thread
        • next unread folder/group
      5. verify when landing on message(s) which have been downloaded for offline, the entire contents are viewable
      6. verify when landing on message(s) which have not been downloaded for offline, there is an error message explaining why message is not readable
      7. verify when going online again, the "not downloaded for offline use" message is cleared for message(s) not downloaded for offline use
      8. read a message with a return receipt requested, verify handling is correct offline and again when going online
        • Yes to receipt, verify receipt is truly sent
        • No to receipt
    4. POP mail: Download rest of truncated message (must set "don't download message over Nkb" before getting messages)
      1. various size settings and messages
      2. various content:
        • attachments: graphics, web page, documents
        • inserted image (html)
        • tables (html)
        • signed message
    5. Follow links in mail message:
      1. mailto link
      2. http url
      3. ftp url
      4. news url
      5. message bookmark
    6. Mark messsages
      1. single message read/unread
        • top level
        • sublevel
      2. multiple selection read/unread
      3. mark all messages (in folder)
      4. mark by date
      5. ignore a thread
        • top level
        • sublevel
      6. watch a thread
        • top level
        • sublevel
      7. undo for above actions
    7. Sort messages: verify sort methods in offline state and preserved when going back online
      1. verify sorts work via menu, column heading click
      2. sort by thread
      3. sort by date
      4. sort by sender
      5. sort by subject
      6. sort by status
        • check for folders which had no status change when offline
        • check for folders which you made status changes to in offline state: reply, forward, read, etc.
      7. sort by priority
    8. Change message views: verify view method in offline state and preserved when going back online
      1. View All
        • ignore toggle on
        • ignore toggle off
      2. View Unread
      3. View Threads with Unread
      4. View Watched Threads with Unread
    9. Save/File/Copy messages
      1. Save as
        • text
        • html
      2. File message
        • drag and drop
        • menu
        • file to folder on same server
        • file IMAP to local mail folder
        • with attachments
      3. Copy message
        • drag and drop
        • menu
        • file to folder on same server
        • file IMAP to local mail folder
        • with attachments
    10. Delete messages
      1. single selection
      2. multiple selection
      3. few messsages
      4. lots of messages
      5. various IMAP delete prefs
    11. Filter messages
      1. offline state: create a user mail filter, sample each criteria/action combination (also see Filters: Basic Functionality - Mail)
      2. offline state: edit a user mail filter, sample each editable area
      3. synchronize: verify filters honored for user created filters, sample each criteria/action combination
      4. synchronize: verify filters honored for spam filters, sample each criteria rule
      5. offline state: use user-created filters (sample each criteria) and apply after-the-fact
        • verify filters work
        • verify no adverse effects
        • verify playback
        • filters with fax/other service interaction??
      6. offline state: apply after the fact for spam filters on folders which have spam-type messages already downloaded
        • verify filters work
        • verify no adverse effects
        • verify playback ok
      7. offline state: create user defined filters using the "by example" feature, where filter dialog is launched with criteria fields populated based on message selection
    12. Search messages -- also see Search: Basic Functionality - Mail
      1. search local folder
      2. search online/IMAP folder
      3. search with results
      4. search with no matches
      5. operations from search results:
        • open message
        • file/copy message
        • delete message
  12. Messages -- basic operations error/negative situations:
    1. Compose Mail messages -- some cases may be itemized here, but comprehensive coverage under separate test spec Offline: Composition.
    2. Get Messages
      1. network unavailable when going online
    3. Save/File/Copy Messages
      1. Save message not downloaded for offline -- shouldn't be able to
      2. File message not downloaded for offline -- shouldn't be able to
      3. Copy message not downloaded for offline -- shouldn't be able to
  13. Unsent Messages -- basic tests for positive/success situations:
    1. Prefs|Offline: Ask me if I want to send Unsent messages when going online
      1. there are unsent messages to send
        • lots
        • a few
      2. there are none to send
    2. Prefs|Offline: Automatically send Unsent messages when going online
      1. there are unsent messages to send
        • lots
        • a few
      2. there are none to send
    3. Prefs|Offline: Do not send Unsent messages when going online
      1. there are unsent messages to send
        • lots
        • a few
      2. there are none to send
  14. Offline operations: playback to (IMAP) server:
  15. Note: playback to the IMAP server of any commands/procedures done while offline can occur in two fashions -- 1) when synchronized upon going online, all operations done offline should be played back or reflected in the online version of folders. 2) "lazily" where no synchronization is done going online, but all operations should be reflected as appropriate when folders are opened, etc.
      Described by David Bienvenu:
      "... In general, if you do a synchronize, all offline operations get played back. Otherwise, offline operations are played back lazily, which means whenever you open a folder that has an offline operation, all operations for that folder get played back. I think this means moves across folders tend to get played back when either the source or destination folder is opened (but I wouldn't swear to it).
      Other kinds of operations don't strictly belong to a particular folder, like creating a new folder. I believe, at the end of the day, I made it so that whenever you did anything, I would try to play back any offline folder creation events. It was extremely painful. "
    1. Test operations done offline with synch when going online. Verify all operations are appropriately reflected.
      1. folder operations
      2. message operations
    2. Test operations done offline with no synch when going online. Verify all operations are reflected when relative operation should trigger playback.
      1. folder operations
      2. message operations
  16. Unsent Messages -- basic tests error/negative situations:
    1. Going online errors trying to send unsent message with addressee error
    2. Going online errors trying to send unsent messages because server is down/unavailable
    3. Going online, network unavailable
    4. Messages other than unsent in the unsent message folder -- verify error message identifies foreign unsent messages, handling has no adverse affects.
    5. fax or other services utilized in unsent messages, services not available
  17. Secure mail message operations: Note: security procedures may be changed in Seamonkey
  18. Address Book operations: Note: some of this area may overlap with cases in Offline:Composition
  19. Overall testing instruction: These operations should be done in offline state and checked for accuracy/accessibility when back to online state.
    1. Add a card
    2. Edit a card
    3. Remove a card
    4. Add a mailing list
    5. Edit a mailing list
    6. Remove a mailling list
    7. Add a new address book
    8. Edit address book properties
    9. Remove an address book
    10. Add a directory (will not be able to contact the directory, but should add it)
    11. Remove a directory
    12. Verify search directory is disabled in offline state
    13. Import/export address book
    14. Change the address book view: column placement, reorder items in list pane, etc.
    15. Try address book operations which interact with fax or other services
  20. Mail Notification in offline state: check for adverse effects
  21. Use various IMAP servers: (refer to IMAP interoperability test spec for server listing)
  22. Modem variations
  23. Direct connection variations