Web Application Test Plan

This blog post describes how to perform basic web application testing to identify and fix compatibility issues. These procedures are designed for non-experts and not to require deep expertise in web application development. The target platform is assumed to be Internet Explorer 8 running on Windows 7 with standard user rights. Some of the issues covered below assume that the target platform has the US Government Configuration Baseline (USGCB) applied.

The test procedure is simply to log on to a Windows 7 computer, browse to a site to be tested, interact with the site and verify whether it behaves according to its specification. If the site appears to work correctly, good! Move on to the next one! If the site does not work as expected, review the list of issues below for matching symptoms.

Each issue listed includes a description, symptoms, workarounds during test/triage, and potential solutions, in the table format shown below. Review this example table first to understand the meaning of each of the table fields.

Issue Title

Description

A description of the underlying cause of the issue.

Symptoms

One or more symptoms that may appear if this issue is occurring.

Workarounds during test/triage

Temporary workarounds that can be used during testing. The purposes of these workarounds are: 1) to verify the root cause; 2) to temporarily get around the problem so that other features of the app can be tested. Note that it is only to be used during testing, not in production.

Potential solutions

Solutions that may be used in production.

 

A list of references follows the Issues section. The references explain Internet Explorer compatibility issues, such as the !DOCTYPE element that describes what version of web standards the site was designed for.

Issues

Missing ActiveX

Description

ActiveX required by web app isn’t present, and cannot be installed via a standard user’s browser.

Symptoms

Square with red X in upper left;

Page content not fully shown, not active, nothing the user can do;

ActiveX prompts.

Workarounds during test/triage

Log in as an administrator (or launch IE elevated) and install the ActiveX). This may require removing policies blocking ActiveX installation.

Install the ActiveX through means other than with the browser (e.g., a standalone installer, or copy the control to the computer and run regsvr32 on it.)

Potential solutions

Pre-install into the image;

Deploy with app deployment solution (e.g., SCCM);

ActiveX Installer Service

 

Protected Mode

Description

Web app fails when run in IE Protected Mode

Symptoms

Failure of ActiveX or Java while in the Internet zone

Workarounds during test/triage

Ensure that the site is in Intranet (for internal apps) or Trusted Sites (for external apps). How to: if policy allows, use the IE security zone dialog (not allowed in USGCB configuration); otherwise, use Site To Zone Assignment List in Group Policy.

Potential solutions

Ensure that the site is in Intranet (for internal apps) or Trusted Sites (for external apps). Site To Zone Assignment List in Group Policy.

 

Rendering issues

Description

Layout of web page is incorrect; looked good in earlier versions

Symptoms

Layout is incorrect

Workarounds during test/triage

Click the Compatibility button to render in IE7 compatible mode. If that doesn’t work, press F12 to display Developer Tools and then Alt+Q to render in Quirks mode (if not already in Quirks). If that doesn’t work, look for conditional comments in the source (including in the CSS).

Potential solutions

Remove !DOCTYPE element and/or add X-UA-Compatible meta-tag or header to pages; update the content to be compliant with web standards as supported by the chosen rendering engine

 

Incorrect Version Checks in Script

Description

Application targets a specific version of Internet Explorer, and fails when it encounters a newer version number

Symptoms

“Unsupported version” error message;

page interactivity missing;

page missing styling

Workarounds during test/triage

Compatibility view (when site supports IE7);

User Agent String utility;

manually modifying the page to modify version vectors

Potential solutions