html wtp 2.0 final test plan

html wtp 2.0 final test plan
WTP LogoWTP Home

Status of this Plan

Proposed Plan (5.17.07)

Overall goals

Co-developer Testing

We will inspect "runtime" version of build to be sure extra source is not included, and more important, we'll inspect and test importing SDK version to be sure all relevant "open source" is included in that SDK build and that it correctly imports into a development environment.

API Testing

HTML API unit tests are in the org.eclipse.wst.html.core.tests and org.eclipse.wst.html.ui.tests plugins, located in the tests folder in the wst.html component.

We do have several hundred unit tests which we expect to be running and passing for 2.0, which test various aspects of parsing, model creation, and correct charset handling, among other things.

End User Testing

The nature of the end-user testing is intentionally planned to be "ad hoc" instead of specifying step by step "how to" directions and specific "expected results" sections often seen in test cases. This is done because its felt leads to greater number of "paths" being tested, and allows end-users more motivation for logging "bugs" if things didn't work as they expected, even if it is working as designed.

As we progress through milestones, we'll add more and more detail for special cases, special files, special projects, etc.When we do have special or sample test files and projects, we will keep those stored in CVS, as projects under a testdata directory under the development directory of relevant component so that testers (from immediate team, or community) can easily check out into the environment being tested.

Platform Testing

While we do not have any platform specific code, or function, we will have some team members do end-user tests on Linux, some on Windows. We will also confirm unit tests pass on both platforms.

Performance Testing

We have added (some) automated performance tests along the lines of the Eclipse base performance unit tests in future milestones. These are currently in the org.eclipse.wst.*.ui.tests.performance and org.eclipse.jst.jsp.ui.tests.performance plugins.

We will continue to add more test cases in upcoming milestones.

Testing focus for 2.0

  • Validation
    • Verify html attributes and jsp code in place of html attributes are correctly validated
    • Verify html content in jsp files are correctly validated (and follows validation preferences - including jsp content validation preference)
  • Verify quick fix for spelling mistakes works
  • Formatting:
    • Verify formatting of css style regions in html
    • Verify new formatting preference "Align final bracket in multi-line element tags" is obeyed
    • Verify format with no selection will format document while format while text selected will only format selected text
    • Make sure to run formatting regression test
  • Preferences:
    • Syntax highlighting preferences:
      • Verify entity references syntax color preference is followed
      • Verify font styles (bold, italics, strikethrough, etc) are obeyed
      • Verify background syntax color preference is followed
    • Verify keywords for preference pages works
    • Verify text editor's smart home/end caret positioning preference is followed
    • Verify hyperlinking preferences in text editor's hyperlinking preference page is followed
    • Verify content assist proposal background/foreground color preferences in structured text editor's preference page are followed
  • Verify tree path of current selection is displayed in status line
  • Verify attribute hint (shift+ctrl+space) works and bolds existing attributes
  • Verify Web Content Settings and Task Tags preference/properties pages are correct and correctly followed for workspace vs project vs file.
  • Make sure to run structured text editor action regression test

(X)HTML Tests

  • Check Source Editing features from the feature matrix
  • Check "embedded languages" (CSS, JavaScript) have same features as indicated in the feature matrix
  • Check html content in jsp has same features as indicated in the feature matrix
  • Check that the standard different doctypes (HTML 4.01 Transitional vs XHTML 1.0 Strict vs XHTML Frameset, etc) give different, correct content assist.
  • Test Source page, Outline view, Properties view synchronization
  • Preferences:
    • Test our editors follow preferences in the "All Text Editors" preference page
    • Check that editors follow content type specific preferences under Web and XML preference pages
    • Make sure editors (already open and closed and reopened) are updated when preferences change
    • Check preferences are saved when shutdown and restart workbench
  • Tab preferences:
    • Web and XML->Content Type Files -> Content Type Source -> Indent using tabs / Indent using spaces -> Indentation size
    • Verify the correct tab character is used
    • Verify the correct number of tab characters is used
    • Verify Source->Shift Left/Shift Right and the Shift-Tab/Tab key follow the preferences
    • With nothing selected
    • With multiple lines selected
    • Verify Format follow the preferences
    • Verify when using tab characters, the displayed tab width preference is followed (General->Editors->Text Editors -> Displayed tab width)
  • As you type validation:
    • Job based, make sure squiggles show up when they should and are removed when problems are fixed
    • Test various partition types in the document
  • HTML validation:
    • Batch workbench validation, as-you-type
  • Hyperlink open on:
    • href, link, style, script etc...
  • New File Wizard:
    • make sure the template creates a valid file
    • Verify not entering an extension will generate a new file with the default file extension you specified in the preference.
    • Verify entering a file name that already exists without the extension will still give you an error saying the file already exists (for example, if index.jsp already exists, typing "index" will tell you that it already exists)
    • Verify entering a file name with valid/invalid extension still works
  • General Content Settings
    • Verify project properties are inherited when file properties are not set
    • Verify setting properties actually saves the properties settings when you reopen properties dialog and when you restart workbench
    • Verify properties still valid/saved when you move the associated file
    • Verify nothing funny happens with build or if you have a readonly project or something that nothing goes wrong (since properties are stored inside project)
  • Web Content Settings
    • Verify Web Content Settings shows up in Properties dialog for html, jsp, css files and web projects (and only then)
    • For CSS files, there should only be a CSS Profile option. Verify it is used For HTML/JSP files there should also be a Document type option.
    • Verify it is used (for example, specify frameset doctype and verify content assist proposes frameset tag)
  • Profiling:
    • Using your favorite profiler ( XRay , YourKit, etc...) test basic editor functions and look for problem areas (large memory consumption, intense CPU usage)
  • Run performance unit tests:
    • Record results for comparison with future milestones

Regression Tests

Structured Text Viewer Configuration tests
Structured Text Editor Action tests
Formatting tests
Code Folding tests

Source Editing Test Plans

org.eclipse.wst.sse
org.eclipse.wst.xml
org.eclipse.wst.html
org.eclipse.wst.css
org.eclipse.wst.dtd
org.eclipse.wst.javascript
org.eclipse.jst.jsp