You are currently viewing a snapshot of 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, please file a bug.

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 Petersen

This 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:

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:

Test coverage & outline

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 , 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:
    1. Open browser to
    2. From the toplevel menu, select File > Save Page As
    3. In the resulting file picker, make sure "Web Page, complete" is selected.
    4. Choose a target directory (eg, your desktop or home directory).
    5. Click the Save button.
    6. 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.
    7. 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.
  • 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
        • Doesn't work on Unix: Disabled there (90008), pending fix of 67001
      • Reveal Locaton
      • ftp-only. Pause/Resume button: Since the Pause/Resume feature is not implemented for http:// (bug 98288), that button will only appear for ftp:// downloads. Currently displays a minor paint problem, bug 117505.
    • Test cases for UI cleanliness (btw, these are all http:// downloads):
      1. View a plaintext page, then save as text (that's the only option).
      2. View a web page with image/etc content like, then save as text.
      3. Like 2, but save as HTML only.
      4. Like 2, but save as complete.
      5. View a simple web page, with no external content, save as text.
      6. Like 5, but save as HTML only.
      7. Like 5, but save as complete.
      8. View http directory listing, save as text.
      9. Like 8, but save as HTML only.
      10. Like 8, but save as complete.
      11. View ftp listing, do save as (only have one option of All).
  • 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.

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.