jsp wtp 2.0 final test plan

jsp 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

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

  • Run updated jsp taglib regression test (updated for jsp 2.0 support)
  • Verify quick fix for spelling mistakes works
  • Formatting:
    • Verify format with no selection will format document while format while text selected will only format selected text
    • Verify whitespace is preserved between jsp scripts and text/other tags
    • Make sure to run formatting regression test
  • Preferences:
    • Syntax highlighting preferences:
      • Verify font styles (bold, italics, strikethrough, etc) are obeyed
      • Verify background syntax color preference is followed (especially jsp syntax elements preference)
    • 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 JSP Fragment, 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

JSP Tests

  • Check Source Editing features from feature matrix
  • Check "embedded languages" (Java, HTML, CSS, JavaScript) have same features as indicated in matrix
  • Test standard samples
    • In HTML "text/html" content type
    • In XHTML "text/html" content type
    • In XHTML "text/xml" content type
    • All in JSP syntax and XML syntax
  • Test files with different doctype declarations and output types (via page directive)
    • Test HTML, XHTML, XML
    • Test all files created from templates
  • Test debug breakpoints can be set/unset, displayed in left-hand-ruler, breakpoint view (see JSP Breakpoint tests )
  • Quick test that breakpoints do indeed 'break' (we'll use Tomcat)
  • 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 (JSP, HTML, EL)
  • JSP validation (batch validator)
    • Make sure prolems show up in problems view
    • Error icons should "gray" out when fixed
  • HTML validation:
    • Batch workbench validation, as-you-type
  • EL support
    • Vvalidation (batch, as-you-type)
    • Content assist
  • Background syntax highlighting for JSP regions
    • Configure via JSP Styles page
  • Hyperlink open on:
    • Java Elements, href, includes, link, style, etc...
  • 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)
  • 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)
  • JSP Fragment
    • Verify JSP Fragment shows up in Properties dialog for jsp fragment files and web projects (and only then)
    • Verify Language/Content Type/Validation properties are used when not specified in JSP Fragments
  • 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)

Regression Tests

JSP Breakpoint tests
JSP Taglib 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