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 plans > Browser Imaging Feature

Feature Test Specification

Maintained by: Terri Preston

Seamonkey: Browser Imaging (Black Box)


UI and/or Functional Specifications:

PNG (Portable Network Graphics) Home Site
Pam's Imaging Testing Notes (Stored on a Netscape internal server; list of image files and suggested testing equivalence classes.)

Test Case Suites

Pam Nunn's publish/pngpix directory on Jazz (Stored on a Netscape internal server; contains some sample PNG files, some docs)
Gerard Juyn's MNG test case suite
Willem van Schaik PNG test case suite

Will-Test Areas/Testing Strategy:

For Browser Imaging, we'll be testing the features that casual Mozilla/Netscape 6 Preview Release users are unlikely to encounter. Testing will be focused on newly introduced image formats (PNG & MNG), rather than GIF/JPEG, which are more likely to be tested thoroughly through the ad hoc use of 100,000 Mozilla testers.

Won't-Test Areas

Imagelib's interaction with CSS & XML will not be tested; testing of whether images invoked by CSS or XML tags should be covered by the individuals testing CSS and XML. Likewise, imaging from within Java or JavaScript applets will not be tested.

New image formats

1. PNG - an extremely well-architected and documented new lossless image format, positioned as a replacement for the aging GIF format --- our support for the PNG format in Seamonkey will further facilitate the format's adoption.

Members of the PNG community have assembled test case suites, which we are leveraging for coverage. Members of the PNG community have expressed an interest in coordinating further detailed testing by PNG experts.

The png-discuss list could also be used to invite test participation. (PNG test coverage is directly lifted from/modeled after Williem van Schaik's PngSuite test suite.)

PNG test areas

  1. Basic formats (b/w, color, paletted)
  2. Supported color types (grayscale, grayscale + alpha, color palettes, rgb, rgb + alpha)
  3. Interlacing (Adam-7)
  4. Unusual sizes (e.g. 1x1)
  5. Transparency (none, transparent w/o background chunk, transparent w/white, w/gray, w/black, w/yellow)
  6. Gamma values (per platform)
  7. Image filtering (none, sub, up, average, paeth)
  8. Corrupted files (empty IDAT, added cr bytes, added lf bytes, color type 0, color type 9, bit-depth 0, bit-depth 3, bit-depth 99, incorrect IDAT checksum)

2. MNG - A modern replacement for animated GIFs. (MNG test coverage is directly lifted, with permission, from Gerard Juyn's MNGsuite.) is the MNG module owner.

MNG test areas:

  1. Basic testing: BASI-IEND streams, embedded PNGs and BACK/FRAM functionality.
  2. Text animations
  3. Scrolling images
  4. Color-correction by difference
  5. Color-correction by similarity
  6. Loading an image as a web page

3. Traditional, Natively handled Image Formats

  1. GIF
    1. (animated GIFs) Proper handling of corrupted frames, images w/frames larger than header, & 1-pixel high frames.
  2. GIF87
  3. GIF (animated) - single and multiple
    1. Animated GIFs don't trash system if left animating for extended periods of time hours.
    2. Animated GIFs should not do a 304 request other than on specified pages. [pnunn could elaborate this into multiple test case ideas]
  4. JPEG/jfif (Note that CMYK jpegs are not yet supported.)
    * No thorough test case suites for these formats. This should be considered in the case of a point release in which Compositor/ImageLib changes might result in a regression.
    Perhaps module owner Tom Lane might know of a JPEG test case suite? pnunn says that a test case suite existed around 3.0/4.0, and she might know where it is.

4. Non-natively handled Image Formats <None currently implemented, although they will be. This will have to be tested when it happens.>

5. Miscellaneous Scenarios

  1. Proper dithering at 8 & 16-bit resolutions cross-platform.
  2. Proper reloading of updated images that have been cached (including when loading the image file as document, rather than when embedded within a page), with respect to cache user prefs and server attributes.
  3. Dynamic screen bit-depth & resolution changes, especially to lower bit depths.
  4. Proper loading from local HD

Future Coverage should be implemented for:

GIF error handling on:

  1. background: erase
  2. background: overlay
  3. corruption in frame1+
  4. frame1+ dimens < header dimens
  5. global colormaps
  6. local colormaps
  7. 1x1 images

ART image format