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.



Proxy Smoke Test for Browser:


 
Abstract:
This document provides an outline for testing proxy features of the browser. This is not a functional test, because it assumes a working knowledge of proxy behavior, and does not include step-by-step instructions.

This document is a draft in limbo (incomplete, and not being worked on immediately).

Methodology:

Testers should think of Mozilla as a bundle of network protocol handlers, accessible via URL schemes.

Each protocol handler implements proxy support independently, so testing is essentially a two-dimentional matrix (connection mode vs. protocol handler)

In my experience, it is generally easy to set the mode for all protocols and test the all protocols at once. The preferences UI is lacks sufficient keyboard shortcut support to allow fast "test all connection modes by protocol".

So, using a basic list of URLs as a protocol smoketest, check each of the following:

via direct connecction.
via manual (URL proxy)
via manual (SOCKS)
validate various manual proxy UI features (no proxy, order of precedence with proxy server selections)
via PAC (direct, PROXY, SOCKS)
validate various PAC UI features (reload, PAC URL).

Perform other error handling and performance testing.

Area Description / Steps Comments
HTTP proxy
http://www.news.com

 

 Status: 11708
Error checking:
56629
leading "." not needed for no.proxy.
need password manager testing.
FTP proxy  ftp://ftp.mozilla.org
Optional: ftp functional test
ftp proxy is presented as HTML by the proxy (may look different than ftp w/ direct connection) 91610
SSL proxy
sourceforge

 


Gopher
gopher://gopher.tc.umn.edu/

Socks host socks.packetgram.com 1080
SOCKS used first in 4xp.
SOCKS should be tested for HTTP, FTP, HTTPS, and Gopher
socks v4 will fail (no test server at this time)
74546
No proxy .domain and domain work. (.domain is proper syntax).
ip addresses needs testing.

Proxy preferences Check that proxy preference dialog is complete and all fields are editable.
changing does not close existing connections.
port number valididty 0=off

Auto proxy tests PAC  smoketest: (verify PAC URL loaded out of UI and Proxy redirection occurs) 
      Enter: http://www.packetgram.com/pktg/proxy/pac/pacfiles/smoketest.pac 
      Enter: http://www.packetgram.com/pktg/proxy/pac/pacfiles/socks.pac 
      Enter: http://www.packetgram.com/pktg/proxy/pac/pacfiles/direct.pac 
Reload button: 79246
80363
80885   84798
PAC: "SOCKS" does not work 105335
Notes Auth should be sticky across protocol types.
You should disconnect when proxy prefs change.

Verify network indirection (i.e. a direct connection does not occur) ->requires proxy only network

  1. Test network activity
  2. Expected behavior: connection should fail
  3. Note and document error message.
Verify proxy connection (the client connects to the proxy correctly)
  1. Specify a hostname and port that is running a proxy server
  2. Test network activity
  3. Expected behavior: successful connection, normal client behavior
  4. Optional test: use netstat or other connection display utility to verify connections appear for client-proxy but not client-server
  5. Suggestion to tester: note and document any UI features that indicate the usage of a re-directed proxy connection.
Verify proxy authentication
  1. Specify a proxy that requires authentication
  2. Test network activity with incorrect password
  3. expected behavior: connection fails with error.
  4. Suggestion to tester: note and document any error messages. HTTP proxy errors are HTML sent with the HTTP 407 Proxy auth challenge.
  5. Test network activity with correct password
  6. Expected behavior: successful connection, normal client behavior
  7. Suggestion to tester: note and document any UI features that indicate the usage of a re-directed proxy connection.
Stress test
  1. Browser buster
  2. <add some reasonably robust HTTP automatition>
Error checking:

Proxy hostname not in DNS
Proxy not running on socket (connection refused)
Proxy does not exist (unreachable/offline)