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. |
- Test network activity
- Expected behavior: connection should fail
- Note and document error message.
- Specify a hostname and port that is running a proxy server
- Test network activity
- Expected behavior: successful connection, normal client behavior
- Optional test: use netstat or other connection display utility to verify connections appear for client-proxy but not client-server
- Suggestion to tester: note and document any UI features that indicate the usage of a re-directed proxy connection.
- Specify a proxy that requires authentication
- Test network activity with incorrect password
- expected behavior: connection fails with error.
- Suggestion to tester: note and document any error messages. HTTP proxy errors are HTML sent with the HTTP 407 Proxy auth challenge.
- Test network activity with correct password
- Expected behavior: successful connection, normal client behavior
- Suggestion to tester: note and document any UI features that indicate the usage of a re-directed proxy connection.
- Browser buster
- <add some reasonably robust HTTP automatition>
Proxy hostname not in DNS
Proxy not running on socket (connection refused)
Proxy does not exist (unreachable/offline)