xml wtp 2.0 final test plan

xml wtp 2.0 final test plan
WTP LogoWTP Home

Status of this Plan

Proposed Plan (5.14.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

XML API unit tests are in the org.eclipse.wst.xml.core.tests and org.eclipse.wst.xml.ui.tests plugins, located in the tests folder in the wst.xml 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

  • Verify quick fix for spelling mistakes works
  • Verify quick fix/assist for xml-related purposes works (quote attribute value, surround with new element)
  • Verify xml wizard works properly
  • Formatting:
    • Verify whitespace handling (ex: content in xsl:text should not be modified) works
    • Verify new formatting preference "Align final bracket in multi-line element tags" is obeyed
    • Verify new formatting preference "Preserve whitespace in tags with PCDATA content" 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 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

XML Tests

  • Check Source Editing features from feature feature matrix
    Check samples of range of types of web resources (web.xml, tld files, schema source, etc)
    especially any we (WTP) generate
  • Test Design page, Source page, Outline view, Properties view synchronization
  • Check content assist and source validation using content model from the following source:
    • Inferred content model (XML with no DOCTYPE or schema specified)
    • DTD from XML catalog
    • DTD from URI
    • Schema from XML catalog
    • Schema from URI
    • Basic schema (with lots of complex types, and lots of 'includes')
    • Advanced schema (with lots of namespaces)
  • 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
    • Xerces-style validators (for as-you-type)
    • XSD validator (for as-you-type)
    • Problem icons (batch validation) should gray out in the editor when fixed.
  • Hyperlink open on:
    • schema location, dtd location
  • 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)
  • 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
  • Referenced Files
    • Test errors in referenced files
    • good xml, bad xsd. ie. XSD errors should not show in XML resource. There should be however one message to indicate that there are errors in the referenced file
    • Test similarly also for good xml, bad dtd
  • Validation Preferences
    • Test validate on file save
    • Turn it on and off
    • Test global vs project settings
    • Test maximum number of messages
  • Run performance unit tests:
    • Record results for comparison with future milestones
  • Profiling:
    • Test basic editor functions and look for problem areas (large memory consumption, intense cpu usage)
  • XML Catalog

    • Test that validation works with the XML Catalog

    General Scenario

    • Validate an invalid document and ensure problems are shown as annotations in the editor's source ruler and margin
    • Check that error messages are listed in the problems view
    • Check that navigation works for error markers
    • Check that line numbers match error markers
    • Correct errors and revalidate and ensure all markers and messages are removed
    • Ensure popup message dialog appear with the correct validation message

    XML Examples

    • Create the Editing and validating XML files Examples
    • Verify that the sample files are created in the designated folder

    XML Tutorials

    • Excercise XML Catalog tutorial
    • Excercise XML Validation tutorial
    • Excersice Creating XML Documents tutorial

    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