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 > Offline: Basic Functionality within Mail

Feature Test Spec: Mail and News Component

Mail and News Component: Offline: Basic Functionality within Mail

Written by Gary Chan

References:

UI and/or Functional Specifications: http://www.mozilla.org/mailnews/specs/offline/
Other: Laurel Carlson's original Offline Mail Functional test plan: http://www.mozilla.org/quality/mailnews/tests/sea-mn-offline-mail.html

Disclaimer: This testplan is based on Laurel Carlson's original testplan originally written for Seamonkey. The wording and test plans will be very similar and changes to the test plan are made where appropriate.

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.

  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
    (Preferences|Offline)
    1. Startup state: Ask Me at startup-- verify when this is set, you are prompted for online state upon startup (bug 82487)
    2. Startup state: Remember my previous mode -- verify when this is set, Communicator starts with appropriate state (bug 82487)
      1. in online state before exit, starts in online state
        • check state in all windows w/online|offline indicator on startup
      2. in offline state before exit, starts in offline state
        • check state in all windows w/online|offline indicator on startup
    3. Prefs|Offline|When going online/unsent message prompt: General working order cases here. (Note will only work with in same session, see bug 115024)
      1. Ask me: verify you are asked about sending unsent messages when going online when you've got unsent mail messages
        • If answered Yes --> verify unsent messages are indeed sent, unsent message folder cleared
        • If answered No --> 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 mail 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. Prefs|Offline|When going offline/download message prompt: General working order cases here.
      1. Ask me: verify you are asked about downloading messages before going offline
        • If answered Yes (Download)--> verify messages are indeed downloaded
        • If answered No (Don't Download) --> verify messages are not downloaded
      2. Automatically download: verify messages are downloaded when going offline without user interference (unless some error occurs), all messages are downloaded.
      3. Don't download: verify messages are not downloaded.
  4. Testing the process/access of going offline for mail use: basic tests for each procedural component to make sure each is working
    1. While offline, select at least one mail folder (not the 'select items for download window')
      1. access from main menu item/main mail window
      2. access through preferences
      3. access through properties
    2. Verify clicking ok(Synchronize) in the "Download and Sync Messages" window 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.
      1. Cancel and do some other process (not offline related)
      2. Cancel and do same offline process as was canceled
      3. Cancel and do some other offline process
    8. During a synchronization, verify offline icon is disabled (bug 100114)
    9. Verify progress dialogs appear and for each: (Not fully implemented yet, appears in bottom portion of 3rd pane in Messenger)
      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 folder(s) with mesgs that contain various attachments
    6. mail folders at different hierarchy levels
      1. selecting a parent folder for synchronization does not result in the children of the folder being selected
    7. full subhierarchy(ies) of folders
    8. few mail folders in couple of accounts at the same time
    9. an entire mail account (currently not implemented)
        • all children of the mail account should be selected
        • as a result, a disabled checkbox for each child should appear
      1. two mail accounts (currently not implemented)
        • all children of both mail accounts should be selected
        • as a result, a disabled checkbox for each child should appear
    10. synchronize with user filters in place affecting the synched folder(s)
  6. Get Selected Messages
    1. Verify icon changes for each message that is downloaded in both classic/modern themes
    2. Verify each message that is selected via "Get Selected Messages" is accessible either online/offline
    3. from messenger window
    4. from standalone message window
    5. when single selection
    6. when multiple messages selected
    7. get various selected message types:
      1. short message
      2. long message
      3. with attachments:
        • vcards
        • signatures
        • forwarded messages
        • graphics attachments: gif, jpeg, etc.
        • text file attachments
        • attached web pages
        • html with inserted images
        • misc. files such as pdf, doc, zip
      4. get messages in plain text and html format
  7. Get Flagged Messages
    1. Verify icon changes for each message that is downloaded in both classic/modern themes
    2. Verify each message that is selected via "Get Flagged Messages" is accessible either online/offline
    3. from messenger window
    4. from standalone message window
    5. when single message is flagged
    6. when multiple messages flagged
    7. get various flagged message types:
      1. short message
      2. long message
      3. with attachments:
        • vcards
        • signatures
        • forwarded messages
        • graphics attachments: gif, jpeg, etc.
        • text file attachments
        • attached web pages
        • html with inserted images
        • misc. files such as pdf, doc, zip
      4. get flagged messages in plain text and html format
  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. Empty trash (Note: can't confirm till you go back online)
      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
  9. Folders -- basic operations error/negative situations in offline state: verify handling in offline state and proper folder display when back online
    1. Create (bug 102284)
      1. folder already exists
      2. folder creation not allowed (some IMAP servers' rules -- see IMAP or Folders:Create testspec for ideas)
      3. top level folder
      4. subfolder
      5. multiple folders - in same sub hierarchy, different levels
      6. multiple folders - in different hierarchies
      7. variety of folder names:
        • long
        • short
        • mixed case
        • special characters
        • multiple words
      8. Undo
    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
      4. top level folder
      5. subfolder
      6. multiple folders - in same sub hierarchy, different levels
      7. multiple folders - in different hierarchies
      8. folder(s) which were created in same offline session
      9. Undo
    3. Rename
      1. folder name already exists
      2. blank
      3. top level folder
      4. subfolder
      5. multiple folders - in same sub hierarchy, different levels
      6. multiple folders - in different hierarchies
      7. folder(s) which were created in same offline session
      8. variety of renaming cases:
        • short name to long/long name to short
        • add/delete special characters
        • change case
      9. Undo
    4. Move folder
      1. top level folder
      2. subfolder
      3. multiple folders - in same sub hierarchy, different levels
      4. multiple folders - in different hierarchies
      5. folder(s) which were created in same offline session
      6. Undo
    5. 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: 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 button, 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 messages are download that the envelope icon changes
      6. verify when landing on message(s) which have been downloaded for offline, the entire contents are viewable
      7. verify when landing on message(s) which have not been downloaded for offline, there is an error message explaining why the message is not readable
      8. verify when going online again, the "not downloaded for offline use" message is cleared for message(s) not downloaded for offline use
      9. verify when going online again, messages that were download still display the different envelope icon
      10. read a message with a return receipt requested, verify handling is correct offline and again when going online (return receipt not implemented as of yet)
        • 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:
        1. attachments: graphics, web page, documents
        2. inserted image (html)
        3. tables (html)
        4. signed message
    5. Follow links in mail message while offline:
      1. mailto link (works)
      2. http url (won't)
      3. ftp url (won't)
      4. news url (won't)
    6. Mark messages
      1. single message read/unread
        1. top level
        2. sublevel
      2. multiple selection read/unread
      3. mark all messages as read(in folder)
      4. mark thread as read
      5. mark as flag
      6. 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 subject
      4. sort by sender
      5. sort by order received (different then date?)
      6. sort by date
      7. 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.
      8. sort by size
      9. sort by flag
      10. sort by priority
      11. sort by Unread
      12. sort by Label
      13. View->Sortby->
        • ascending
        • descending
    8. Change message views: verify view method in offline state and preserved when going back online
      1. View All
        • threaded
        • ignore threads
      2. View Unread
      3. View Threads with Unread
      4. View Watched Threads with Unread
      5. Place messages in thread mode
        • expand all threads
        • collapse all threads
    9. Save/File/Copy messages in Offline mode
      1. Save as
        • Downloaded messages
          • File
            • text
            • html
            • mail file (*.eml)
            • all files
          • template
        • Non Downloaded messages
          • Should not be able to save as a file or template
      2. File/Move message
        • drag and drop
        • menu
        • to folder on same server
        • from a IMAP folder to local mail folder
        • from one mail account to another mail account (can we do this?)
        • with attachments
      3. Copy message
        • drag and drop
        • menu
        • to folder on same server
        • from IMAP folder to local mail folder
        • from one mail account to another mail account (can we do this?)
        • with attachments
    10. Delete messages
      1. single selection
      2. multiple selection
      3. few messages
      4. lots of messages
      5. various IMAP delete models
      6. verify when going back online the message(s) stay deleted/in trash folder
    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. offline state: use user-created filters (sample each criteria) and apply after-the-fact (also see Filters: After the Fact Filtering)
        • verify filters work
        • verify no adverse effects
        • verify playback
        • filters with fax/other service interaction??
      5. offline state: apply after the fact for spam filters on folders which have spam-type messages already downloaded (also see Filters: Junk Mail Filters: After the Fact Filtering)
        • verify filters work
        • verify no adverse effects
        • verify playback ok
      6. offline state: create user defined filters using the "by example" feature, where filter dialog is launched with criteria fields populated based on message selection (also see test spec Filters: By Example)
    12. Search messages -- also see Search: Basic Functionality - Mail
      1. Search All Mail/News messages
        1. search local folder
        2. search online/IMAP folder
        3. search subfolder
        4. search
          1. Using conditions (match all or match at least one)
          2. different criteria (subject, date, status, to, from, priority, etc..)
          3. adding more of fewer search levels
        5. search with results
        6. search with no matches
        7. operations from search results:
          • open message
          • delete message
      2. Search that particular message
        1. Find in This Message
          • Case (upper/lower)
          • wrap around
          • backwards
        2. Find Again
          • Case (upper/lower)
          • wrap around
          • backwards
  11. 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
  12. Unsent Messages -- basic tests for positive/success situations:
    1. Prefs|Offline: Ask me if I want to send my unsent messages
      1. there are unsent messages to send
        • lots
        • a few
      2. there are none to send
    2. Prefs|Offline: Automatically send my unsent messages
      1. there are unsent messages to send
        • lots
        • a few
      2. there are none to send
    3. Prefs|Offline: Do not send my unsent messages
      1. there are unsent messages to send
        • lots
        • a few
      2. there are none to send
  13. 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 can't move a mesg to the unsent mesg folder
    5. fax or other services utilized in unsent messages, services not available
  14. Offline operations: playback to (IMAP) server:
    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
  15. Secure mail message operations: Note:nothing as it relates to offline is implemented currently
    1. Level area 1
      1. sub-level area a
      2. sub-level area b
  16. Address Book operations: Note: some of this area may overlap with cases in Offline:Composition
    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 mailing list
    7. Add a new address book
    8. Edit address book properties
    9. Remove an address book
    10. Add a directory note: currently adding directory to addressbook is not implemented
    11. Remove a directory note: currently adding directory to addressbook is not implemented
    12. Import/export address book
    13. Change the address book view: column placement, reorder items in list pane, etc.
    14. Try address book operations which interact with fax or other services
    15. Collected Addresses
  17. Mail Notification in offline state: check for adverse effects
  18. Use various IMAP servers: (refer to IMAP interoperability test spec for server listing)
  19. Modem variations
  20. Direct connection variations