You are here: browser/composer front-end qa > front-end test cases > Test documentation for downloading UI
Test Documentation for Downloading & Saving UI
Maintained by Chris PetersenThis QA document covers front-end testing for downloading from the browser (Navigator) application in Mozilla (or Netscape). There is a separate page for the Download manager.
What will be tested
Test coverage will focus primarily on front-end (UI) features, and will include:
- How one can save files from the browser (access):
- top-level menu: Save Page As, Save Frame As
- context menus: Save Link As, Save Image, Save Page As, Save Frame As
- clicking links that would initiate a download
- via the Helper Application (aka, "Downloading") dialog
- File picker for saving
- Download progress dialog
- Test on the main platforms: Win32, Mac OS and Linux
- Overall look and feel:
- Appearance, highlighting, navigation, modality: menu items and dialogs.
- Spelling, typos, grammar of any text/descriptions
- Any front-end preferences?
What will NOT be tested
There are some other areas which are related to downloading UI, but they are either covered by other QA groups, or cannot be covered due to time constraints. In addition, there are some areas which might seem related (from an end-user perspective), but really aren't. I've listed the possible areas below -- along with relevant Bugzilla components which might help narrow down who works on what. (Unless otherwise noted, these components reside under the Browser product.)
- Back-end aspects of downloading/saving files. Some of these bugs would be in File Handling, but some might also be in the Networking components
- Helper applications, to launch other apps and open files. Refer to the helper application UI test page. Many bugs, like downloading bugs, should go to File Handling
- Actual bugs specific to the download manager now have their component, Download Manager and test page.
- Files can be saved from mail. Bugs belong in either the Mail Back End, or Mail Window Front End components of the MailNews product
- File picker for opening
- Plug-ins (eg, QuickTime, Macromedia' Flash) and downloading plug-ins are a separate area and issues there belong in the Plug-ins component
Issues, references & bug information
There aren't any formal/approved UI/UE specifications for file downloading, but there is an engineering spec:
- Save Page options are covered under the "Save page with images" section at http://mozilla.org/xpapps/MachVPlan/Context_Menu_Options.html
Once of the biggest issues that affects download UI is the fact that Mozilla starts downloading the file into a temporary location, rather than directly into the specified target location. This has resulted in a slew of behavioral and appearance issues.
- bug 55690: Spool file should be moved once the user picks a filename (saving a file creates a file before location is chosen)
- bug 129923 (meta): Bugs related to pre-saving files to temp directory
There might be some bugs in XP Apps or XP Apps: GUI Features (the original components), but most issues are filed within the File Handling component within Bugzilla. Here are some handy queries:
- Currently open bugs under File Handling (Unconfirmed, New, Assigned and Reopened)
- Currently Resolved Fixed bugs under File Handling (but not yet Verified)
- Bugs otherwise Resolved under File Handling as Duplicate, WorksForMe, Invalid or Won't Fix (but not yet Verified)
Test coverage & outline
- Acceptance level (baseline functionality)
- Functional level
- Stress, boundary, negative, etc.
- Ad hoc and regression testing
The download manager has its own QA page here.
Platform differences. It's important to know that Mac OS handles files differently from Win32/Unix. When downloading a file via contextual-click (i.e., selecting "Save Link Target As" from the context menu), the download progress dialog closes automatically when done. By contrast, on Win32/Unix, you have the choice (by default) to toggle this behavior on or off.
Acceptance tests
Baseline testing of downloading covers a broad area, described in the outline below. In many cases, the file picker should appear so that you can designate where to save files. The file picker dialog should appear different than the one for opening files --in this case either its titlebar and/or default button has "save" rather than "open".
- Access to downloading:
- Top-level menus: File > Save Page As, File > Save Frame As should both display the file picker.
- Context menus. The following context menu items should also, when
selected, bring up the file picker:
- Save Page As, Save Frame As
- Save Link As
- Save Image
- The keyboard shortcut Ctrl+S (Cmd+S in Mac OS) should bring up the file picker.
- Downloadable links: Clicking some links can initiate downloading,
often by first displaying the Helper Application dialog. Whether or
not this dialog appears after clicking such a link depends on your
settings -- and, moreover, what its setting are depend on how your
system is setup. Refer to the Helper
Application test page for more information . However, regular
file saving (rather than opening the file with an external application)
from this dialog is done by clicking its Save button, which launches
the file picker.
- Example: Go to http://mozilla.org , and in the "Nightly Builds" section, click on any of the platform build links.
- Shift+clicking a link in Win32 and Linux/unix should launch the file picker --behave the same way as selecting Save Link As from the context menu. On Mac OS, Option+clicking a link does the same thing.
- File picker for saving. General appearance as of this writing:
- Linux uses the XUL-based file picker
- Win32 uses its own native file picker
- Mac OS also uses its own native file picker on OS 10.x and OS 9.x
- Basic usage (all): Make sure the Cancel and Save buttons work, respond fine.
- Download progress dialog displays the progress of the download. It's a cross-platform feature, so its appearance is more or less the same across different OS's.
- Simple downloading test:
- Open browser to http://www.mozilla.org/mozorg.html
- From the toplevel menu, select File > Save Page As
- In the resulting file picker, make sure "Web Page, complete" is selected.
- Choose a target directory (eg, your desktop or home directory).
- Click the Save button.
- After download has completed (the Cancel button in the download progress dialog will turn to Close), verify that the file mozorg.html is saved, as well as folder called 'mozorg_files' which contains 2 items: the mozilla banner .gif file and the persistentstyle.css file.
- Test opening mozorg.html locally to make sure it looks the same.
Functional tests
In addition to acceptance tests, there's quite a bit of testing needed at a deeper level. Steps for these are more or less the same as described for the acceptance tests.
- File picker for saving
- Choosing download location
- Change location: another directory, another drive/partition, etc.
- Create new directory
- Download into directory with different privs
- Choosing download option. This depends on the download case (see
below). For an HTML page you should see and test three options:
- Web page, complete: Should save
- Web page, HTML only
- Text file
- Default suggested file names, in order of precedence
- Use name suggested by HTTP headers, eg, Content-disposition
- Use the actual file name, if present
- Use title of document
- Use link content (caller-provided name)
- Use hostname
- Allow and respect user-specified file names
- Repeating the same downloads should:
- Remember the last download location used
- Remember the last download option used
- When the file name is unchanged, should be prompted if you want to Replace or Cancel.
- Choosing download location
- Download progress dialog
- Confirm that the following features work and appear as expected:
- Saving From:
- To:
- Status:
- Time Left:
- Elapsed Time:
- Progress: and percentage
- Keep this window open after the download is complete checkbox
- Cancel/Close button
- Launch File
- Reveal Locaton
- Test cases for UI cleanliness (btw, these are all http://
downloads):
- View a plaintext page, then save as text (that's the only option).
- View a web page with image/etc content like http://www.mozilla.org/, then save as text.
- Like 2, but save as HTML only.
- Like 2, but save as complete.
- View a simple web page, with no external content, save as text.
- Like 5, but save as HTML only.
- Like 5, but save as complete.
- View http directory listing, save as text.
- Like 8, but save as HTML only.
- Like 8, but save as complete.
- View ftp listing, do save as (only have one option of All).
- Confirm that the following features work and appear as expected:
- Downloading cases: Test via top-level menu, context menu and/or Accel+S
where applicable.
- Simple HTML page, no images or links
- HTML page with images and/or other content
- Plaintext page
- FTP listing (ftp://)
- HTTP listing (http://)
- XUL file listing (file:///)
- Frameset and frames
- Image only
- Downloading cases: Downloadable links which might trigger the Helper
Application dialog (depending on individual user settings), after which
"Save this file to disk" is selected.
- HTTP download links
- FTP download links
- If time/setup permits. Local file (file:///) download links
Downloading tests
HTTP links. Click on the links below to start downloading. btw, files 3 - 5 below are bogus --the extension should trip the appropriate dialog, however.
- test-ball1.tar
- test-ball2.tar.gz
- test-ball3.zip
- test-ball4.bin
- test-ball5.exe
- To test a file which used to bring up the old Unknown File Type dialog [jar file]: toolkit.jar
FTP links. Click on the links below to start downloading. These are big files from the "latest" mozilla build directory --i tried to get the "smaller" ones. ;-)
Stress, boundary, negative, etc.
Stress and boundary testing will be covered as time permits, especially if issues are encountered during ad hoc testing.
- Files with very long names
- Having multiple downloads (dependent on download manager implementaton)
- Very large files
- Very small files
- Cached vs non-cached files
- ? Saving file types inlined within the the browser. eg, Plug-in content like Flash, PDF (using the acrobat plugin, not helper application), QuickTime, etc.
- etc.
Ad hoc & regression testing
Ad hoc testing is covered by users in the Internet community, as well as casual use. Due to time constraints, regression testing will encompass:
- Verification of Resolved (Fixed ones get priority) bugs as they come in.
- Periodic verification (eg, milestone deadlines) of Big Issues to make sure they're still fixed. This would go hand in hand with the usual testing that occurs during those periods.
- Ad hoc testing with daily builds.