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 ChanReferences:
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.
- General UI tests-- covered under separate test spec Offline: General UI.
- Offline Preferences: overall look -- covered within the UI test spec Offline: General UI.
-
Offline preferences particular to mail usage:
Exercise each option to make sure it's working
(Preferences|Offline)- Startup state: Ask Me at startup-- verify when this is set, you are prompted for online state upon startup (bug 82487)
- Startup state: Remember my previous mode -- verify when this is
set, Communicator starts with appropriate state (bug 82487)
- in online state before exit, starts in online state
- check state in all windows w/online|offline indicator on startup
- in offline state before exit, starts in offline state
- check state in all windows w/online|offline indicator on startup
- in online state before exit, starts in online state
- Prefs|Offline|When going online/unsent message prompt: General
working order cases here. (Note will only work with in same
session, see bug 115024)
- 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
- 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)
- Automatically Send: verify unsent mail messages are sent when going online without user interference (unless some error occurs), unsent folder cleared.
- Don't send: verify unsent messages are not sent, unsent message folder not cleared.
- Ask me: verify you are asked about sending unsent messages
when going online when you've got unsent mail messages
- Prefs|Offline|When going offline/download message prompt:
General working order cases here.
- 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
- Automatically download: verify messages are downloaded when going offline without user interference (unless some error occurs), all messages are downloaded.
- Don't download: verify messages are not downloaded.
- Ask me: verify you are asked about downloading messages
before going offline
-
Testing the process/access of going offline for mail
use: basic tests for each procedural component to make sure
each is working
- While offline, select at least one mail folder (not the 'select
items for download window')
- access from main menu item/main mail window
- access through preferences
- access through properties
- Verify clicking ok(Synchronize) in the "Download and Sync Messages" window without anything selected has no adverse effects
- Synchronize without going offline -- verify online state is maintained after synch
- Synchronize and go offline -- verify state is offline after synch
- Synchronize and do not send unsent messages (disabled) -- verify unsent messages are not sent after synch
- Synchronize and do send unsent messages (enabled) -- verify unsent messages are sent
- Cancel synchronize process at various places in process --
verify no adverse effects.
- Cancel and do some other process (not offline related)
- Cancel and do same offline process as was canceled
- Cancel and do some other offline process
- During a synchronization, verify offline icon is disabled (bug 100114)
- Verify progress dialogs appear and for each: (Not fully
implemented yet, appears in bottom portion of 3rd pane in
Messenger)
- Identifies what process is ongoing
- Identifies what folder/object the process is being applied
- identifies what point in the process you're at -- thermometer
- has a cancel button
- While offline, select at least one mail folder (not the 'select
items for download window')
-
Synchronize
- empty mail folder
- mail folder with a couple messages
- mail folder with approx. 50 - 100 messages
- mail folder with 1000+ messages
- mail folder(s) with mesgs that contain various attachments
- mail folders at different hierarchy levels
- selecting a parent folder for synchronization does not result in the children of the folder being selected
- full subhierarchy(ies) of folders
- few mail folders in couple of accounts at the same time
- 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
- 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
-
- synchronize with user filters in place affecting the synched folder(s)
-
Get Selected Messages
- Verify icon changes for each message that is downloaded in both classic/modern themes
- Verify each message that is selected via "Get Selected Messages" is accessible either online/offline
- from messenger window
- from standalone message window
- when single selection
- when multiple messages selected
- get various selected message types:
- short message
- long message
- 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
- get messages in plain text and html format
-
Get Flagged Messages
- Verify icon changes for each message that is downloaded in both classic/modern themes
- Verify each message that is selected via "Get Flagged Messages" is accessible either online/offline
- from messenger window
- from standalone message window
- when single message is flagged
- when multiple messages flagged
- get various flagged message types:
- short message
- long message
- 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
- get flagged messages in plain text and html format
-
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.
- Empty trash (Note: can't confirm till you go back online)
- trash for online folder
- local trash
- trash contains messages only
- trash contains folder
- trash contains mix of messages and folders
- Empty trash (Note: can't confirm till you go back online)
-
Folders -- basic operations error/negative situations in
offline state: verify handling in offline state and proper
folder display when back online
- Create (bug 102284)
- folder already exists
- folder creation not allowed (some IMAP servers' rules -- see IMAP or Folders:Create testspec for ideas)
- top level folder
- subfolder
- multiple folders - in same sub hierarchy, different levels
- multiple folders - in different hierarchies
- variety of folder names:
- long
- short
- mixed case
- special characters
- multiple words
- Undo
- Delete
- special/reserved Communicator folders
- special IMAP folders (some IMAP servers' rules -- see IMAP or Folders:Create testspec for ideas)
- same folder name already in trash
- top level folder
- subfolder
- multiple folders - in same sub hierarchy, different levels
- multiple folders - in different hierarchies
- folder(s) which were created in same offline session
- Undo
- Rename
- folder name already exists
- blank
- top level folder
- subfolder
- multiple folders - in same sub hierarchy, different levels
- multiple folders - in different hierarchies
- folder(s) which were created in same offline session
- variety of renaming cases:
- short name to long/long name to short
- add/delete special characters
- change case
- Undo
- Move folder
- top level folder
- subfolder
- multiple folders - in same sub hierarchy, different levels
- multiple folders - in different hierarchies
- folder(s) which were created in same offline session
- Undo
- IMAP folder subscription
- should not contact server for subscription list
- should be graceful, fairly clear handling to user that this is unavailable when offline
- Create (bug 102284)
-
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.
- Compose Mail messages -- some cases may be itemized here, but comprehensive coverage under separate test spec Offline: Composition.
- Get Messages -- using Get Message button, not Synchronize
(synchronize is the process to download messages for offline use)
- 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
- using Get New Messages should remind user they're in
offline state and ask if they want to go online to get messages
- Read/Navigate messages
- spacebar reading/navigation
- next message
- next unread within folder
- next unread message
- next unread thread
- next unread which will take across folder(s)/group(s)
- next unread message
- next unread thread
- next unread folder/group
- verify when messages are download that the envelope icon changes
- verify when landing on message(s) which have been downloaded for offline, the entire contents are viewable
- 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
- verify when going online again, the "not downloaded for offline use" message is cleared for message(s) not downloaded for offline use
- verify when going online again, messages that were download still display the different envelope icon
- 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
- POP mail: Download rest of truncated message (must set "don't
download message over Nkb" before getting messages)
- various size settings and messages
- various content:
- attachments: graphics, web page, documents
- inserted image (html)
- tables (html)
- signed message
- Follow links in mail message while offline:
- mailto link (works)
- http url (won't)
- ftp url (won't)
- news url (won't)
- Mark messages
- single message read/unread
- top level
- sublevel
- multiple selection read/unread
- mark all messages as read(in folder)
- mark thread as read
- mark as flag
- undo for above actions
- single message read/unread
- Sort messages: verify sort methods in offline state and
preserved when going back online
- verify sorts work via menu, column heading click
- sort by thread
- sort by subject
- sort by sender
- sort by order received (different then date?)
- sort by date
- 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.
- sort by size
- sort by flag
- sort by priority
- sort by Unread
- sort by Label
- View->Sortby->
- ascending
- descending
- Change message views: verify view method in offline state and
preserved when going back online
- View All
- threaded
- ignore threads
- View Unread
- View Threads with Unread
- View Watched Threads with Unread
- Place messages in thread mode
- expand all threads
- collapse all threads
- View All
- Save/File/Copy messages in Offline mode
- Save as
- Downloaded messages
- File
- text
- html
- mail file (*.eml)
- all files
- template
- File
- Non Downloaded messages
- Should not be able to save as a file or template
- Downloaded messages
- 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
- 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
- Save as
- Delete messages
- single selection
- multiple selection
- few messages
- lots of messages
- various IMAP delete models
- verify when going back online the message(s) stay deleted/in trash folder
- Filter messages
- offline state: create a user mail filter, sample each criteria/action combination (also see Filters: Basic Functionality - Mail)
- offline state: edit a user mail filter, sample each editable area
- synchronize: verify filters honored for user created filters, sample each criteria/action combination
- 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??
- 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
- 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)
- Search messages -- also see
Search: Basic Functionality - Mail
- Search All Mail/News messages
- search local folder
- search online/IMAP folder
- search subfolder
- search
- Using conditions (match all or match at least one)
- different criteria (subject, date, status, to, from, priority, etc..)
- adding more of fewer search levels
- search with results
- search with no matches
- operations from search results:
- open message
- delete message
- Search that particular message
- Find in This Message
- Case (upper/lower)
- wrap around
- backwards
- Find Again
- Case (upper/lower)
- wrap around
- backwards
- Find in This Message
- Search All Mail/News messages
-
Messages -- basic operations error/negative
situations:
- Compose Mail messages -- some cases may be itemized here, but comprehensive coverage under separate test spec Offline: Composition.
- Get Messages
- network unavailable when going online
- Save/File/Copy Messages
- Save message not downloaded for offline -- shouldn't be able to
-
Unsent Messages -- basic tests for positive/success
situations:
- Prefs|Offline: Ask me if I want to send my unsent messages
- there are unsent messages to send
- lots
- a few
- there are none to send
- there are unsent messages to send
- Prefs|Offline: Automatically send my unsent messages
- there are unsent messages to send
- lots
- a few
- there are none to send
- there are unsent messages to send
- Prefs|Offline: Do not send my unsent messages
- there are unsent messages to send
- lots
- a few
- there are none to send
- there are unsent messages to send
- Prefs|Offline: Ask me if I want to send my unsent messages
-
Unsent Messages -- basic tests error/negative
situations:
- Going online errors trying to send unsent message with addressee error
- Going online errors trying to send unsent messages because server is down/unavailable
- Going online, network unavailable
- Messages other than unsent in the unsent message folder -- verify can't move a mesg to the unsent mesg folder
- fax or other services utilized in unsent messages, services not available
-
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. "- Test operations done offline with synch when going online.
Verify all operations are appropriately reflected.
- folder operations
- message operations
- Test operations done offline with no synch when going online.
Verify all operations are reflected when relative operation should
trigger playback.
- folder operations
- message operations
- Test operations done offline with synch when going online.
Verify all operations are appropriately reflected.
-
Secure mail message operations: Note:nothing as
it relates to offline is implemented currently
- Level area 1
- sub-level area a
- sub-level area b
- Level area 1
-
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.- Add a card
- Edit a card
- Remove a card
- Add a mailing list
- Edit a mailing list
- Remove a mailing list
- Add a new address book
- Edit address book properties
- Remove an address book
- Add a directory note: currently adding directory to addressbook is not implemented
- Remove a directory note: currently adding directory to addressbook is not implemented
- Import/export address book
- Change the address book view: column placement, reorder items in list pane, etc.
- Try address book operations which interact with fax or other services
- Collected Addresses
- Mail Notification in offline state: check for adverse effects
- Use various IMAP servers: (refer to IMAP interoperability test spec for server listing)
- Modem variations
- Direct connection variations