Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "WSDL Test Plan"

 
Line 2: Line 2:
 
<tr>
 
<tr>
 
<td width="80%">
 
<td width="80%">
<br>WSDL M6 Editor test plan
+
<br><b>WSDL Editor test plan</b>
<br>WTP 1.5 Milestone 6
+
<br><b>WTP 1.5 Milestone 6</b>
<br>Status of this Document
+
 
<td>
 
<td>
 
http://www.eclipse.org//webtools/images/wtplogosmall.jpg
 
http://www.eclipse.org//webtools/images/wtplogosmall.jpg
Line 11: Line 10:
 
</table>
 
</table>
  
+
 +
<h3><b>Test Case 1 : Start From Scratch - Standalone</b></h3>
 +
<ol>
 +
<li>
 +
Use the New XML Schema Wizard to create a new schema (alternative) Use New File to create a blank 'xsd' file ... everything should still work
 +
<p/>
 +
</li>
 +
<li>Select a 'target' schema that you can attempt to reproduce. Here's some suggestions but feel free to come up with your own
 +
<p/>
 +
<ul>
 +
  <table border='1'>
 +
    <tr bgcolor="#CCCCCC">
 +
      <td>Description</td>
 +
      <td>Where</td>
 +
    </tr>
 +
    <tr> 
 +
      <td>GolfCourse</td>
 +
      <td>XML Examples Project</td>
 +
    </tr>
 +
    <tr> 
 +
      <td>SpaceWarGame</td>
 +
         
 +
      <td>XML Examples Project</td>
 +
    </tr>
 +
    <tr> 
 +
      <td>OrgChart</td>
 +
      <td>XML Examples Project</td>
 +
    </tr>   
 +
  </table> 
 +
</ul>
 +
<p/>
 +
</li>
 +
<li>Using the target schema as a guide, utilize the design view to reproduce it. Attempt to use a top down flow since this best simulates how
 +
a user would go about building from scratch (e.g. start with the main elements and types and work your way down to the leaf elements and types).
 +
Be sure to open bugs if...
  
This is the test plan for the WSDL Editor for the Milestone 4 release. Last updated on 05/04/2006.
+
<p/>
Task Oriented Tests
+
<ul>
+
  <li>you run into quirky problems that make editing feel unnatural</li>
 +
  <li>you need to go off to the outline or source view to work around problems</li>
 +
  <li>you hit performance problems that affect your productivity</li>
 +
  <li>etc.</li>
 +
</ul>
 +
<p/>
 +
</li>
 +
<li>When you think your schema is complete, use the validator to ensure it's valid.
 +
<ul>
 +
  <li>since the editor was used to author the schema there should be very</li>
 +
  <li>few validation problems (if any) look at these carefully and consider why
 +
the editor produced these.</li>
 +
  <li>some of the validation problems are unavoidable but in general
 +
the editor should be fairly good at protecting the users against 'bad'
 +
schemas)</li>
  
Test Case 1 : Start From Scratch - Standalone
+
<li>if there are problems it's likely that the user will need to use
 +
the source view to fix them</li>
 +
<li>ensure that all problems can be fixed in the source view and that
 +
red squggles work</li>
 +
<li>as you fix things in the source view ensure that red squiggle indicators
 +
go away</li>
 +
<li>ensure that when you flip back to the design view that any source
 +
view changes are reflected in the design view</li>
 +
</ul>
 +
<p/>
 +
</li>
 +
<li>As a final test open an XML file that validates for the 'target'
 +
schema and edit a copy so that it point to the 'new' schema. Ensure
 +
the XML file validates against the 'new' schema.  If it doesn't validate
 +
ensure the schema editor helps you fix the problems.
 +
</li>
 +
</ol>
  
  1. Use the New WSDL Wizard to create a new schema
+
<h3><b>Test Case 2 : Start From Scratch - One Piece of a Larger Project</b></h3>
       (alternative) Use New File to create a blank 'wsdl' file ... everything should still work
+
<ol>
 +
<li>Repeat Test Case 1 but recreate a schema that's a part of a multi-schema project. Here's some examples...
 +
<p>
 +
<ul>
 +
  <table border='1'>
 +
    <tr bgcolor="#CCCCCC">
 +
       <td>Name</td>
 +
      <td>Where</td>
 +
    </tr>
 +
    <tr> 
 +
      <td>SpaceWarGame-b</td>
 +
      <td>XML Examples Project</td>
 +
    </tr>
 +
    <tr> 
 +
      <td>oagis-8</td>
 +
      <td><a href="http://www.openapplications.org/downloads/oagidownloads.htm">link</a></td>
 +
    </tr>
 +
  </table>
 +
</ul>
 +
</p>
 +
<p/>
 +
</li>
 +
<li>Be sure to utilize the 'Browse...' function when editing type and element references.
 +
</li>
 +
<li>Inspect the schema after using 'Browse...' to ensure that the &lt;include&gt;
 +
or &lt;import&gt; and the 'xmlns:xxx' gets updated correctly.
 +
</li>
 +
<li>Inspect the source view after using 'Browse...' to ensure the type or element reference is not red squiggled (and muck with it to make sure
 +
the squiggle does show when expected)
 +
</li>
 +
</ol>
  
  2. Select a 'target' WSDL that you can attempt to reproduce. Here's some suggestions but feel free to come up with your own
+
<h3><b>Test Case 3 : Visualize and Browse a Large Schema</b></h3>
 +
<ol>
 +
<li>Select a schema that we want to view.
 +
</li>
 +
<li>Use the design view to naviagate thru the schema(s). Ensure all of the following work...
 +
<p/>
 +
<ul>
 +
  <li>click on items listed in the top level view to ensure 'open on' works</li>
 +
  <li> double click on type headers to 'open on' works</li>
 +
  <li> after following a chain of referenes, ensure the 'back arrow' button
 +
allows you to reverse back up the chain</li>
 +
  <li>as you navigate ensure the design view displays the correct thing
 +
      and the layout and line routing is correct</li>     
 +
  </ul>
 +
  <p/>
 +
<li>Use the source view to naviage thru the schema(s). Ensure all of the following work...
 +
<p>
 +
<ul>
 +
  <li>hold down crtl to see the hyperlinks as you mouse over them, ensure
 +
hyperlins appear for all 'references'
 +
  </li>
 +
  <li>ctrl-lick or F3 on hypelinksto ensure 'open on' works</li>
 +
  <li>after following a chain of referenes, ensure the 'back arrow' button
 +
allows you to reverse back up the chain</li>
 +
</ul>
 +
</p>
 +
</li>
 +
<li>Browse the schema(s) by flipping between both the design and source
 +
view and ensure source view and design view navigation work together nicely.
 +
</li>
 +
<li>Use the outline view in conjuction with the source and design view.
 +
</li>
 +
<li>From the source, design and outline views. Use the 'references-&gt;project'
 +
or 'references->workspace' for several components (types, elements etc.)
 +
to understand how components are reused in the schema(s).
 +
</li>
 +
</li>
 +
</ol>
  
            Description Where
+
<h3><b>Test Case 4 : Refactor a large schema project</b></h3>
            PhoneBanking XML Examples Project
+
<ol>
            Google Search API link
+
<li>a) Select one of the existing refactoring 'before and after' projects form the list below
            Fax link
+
<br/>-- or ---
 +
<br/>b) Use any project and come up with a reorganization 'plan' (change
 +
names, move things around etc.) that will describe your 'target' project.
 +
</li>
 +
<li>Use the editor's editing and refactoring support to make the existing
 +
project look like the 'target' project.
 +
</li>
 +
<li>After each refactoring is applied ensure that the project validates.
 +
</li>
 +
</ol>
  
  3. Using the target WSDL as a guide, utilize the design view to reproduce it. Attempt to use a top down flow since this best simulates how a user would go about building from scratch (e.g. start with the main elements and types and work your way down to the leaf objects. Be sure to open bugs if...
 
  
          * you run into quirky problems that make editing feel unnatural
+
<h2>Function Oriented Tests </h2>
          * you need to go off to the outline or source view to work around problems
+
          * you hit performance problems that affect your productivity
+
          * etc.
+
  
  4. When you think your WSDL is complete, use the validator to ensure it's valid. Since the editor was used to author the document there should be very few problems. If there are validation problems...
+
<h3><b>Actions Tests</b></h3>
  
          * look at the problems carefully and consider why the editor produced these (some of the validation problems are unavoidable but in general the editor should be fairly good at protecting the users against 'bad' schemas)
+
<ol>
          * it's likely that the user will need to use the source view to fix them
+
<li>
          * ensure that all problems can be fixed in the source view and that red squggles work (e.g. as you fix things in the source view ensure that red squiggle indicators go away)
+
add element (from design and outline)</li>
          * ensure that when you flip back to the design view that any source changes are reflected in the view
+
  
  5. As a final test open use the 'jst' tools to generate and deploy a skeletong web services for the WSDL
+
<li>
 +
add complex type (from design and outline)</li>
  
Test Case 2 : Start From Scratch - One Piece of a Larger Project
+
<li>
 +
add simple type</li>
  
  1. Repeat Test Case 1 but recreate a WSDL that's uses a muti-file pattern . Here's some examples...
+
<li>
 +
add include/import/redefine</li>
  
            Name Where
+
<li>
            SpaceWarGame-b XML Examples Project
+
add group</li>
            PhoneBanking-b XML Examples Project
+
  
  2. Be sure to utilize the 'Browse...' function when editing type and element references.
+
<li>
  3. Inspect the schema after using 'Browse...' to ensure that the <include> or <import> and the 'xmlns:xxx' gets updated correctly.
+
add global attribute</li>
  4. Inspect the source view after using 'Browse...' to ensure the type or element reference is not red squiggled (and muck with it to make sure the squiggle does show when expected)
+
  
Test Case 3 : Visualize and Browse a Large/Complex WSDL
+
<li>
 +
add attribute group</li>
  
  1. Select a WSDL that we want to view.
+
<li>
  2. Use the design view to naviagate the WSDL and open referenced XML Schemas. Ensure all of the following work...
+
add sequence</li>
  
          * click on the 'arrow' beside an element or complex type in the portType ... ensure a schema editor is opened and the 'clicked' object is shown
+
<li>
          * after following a chain of referenes, ensure the 'back arrow' button allows you to reverse back up the chain
+
add choice</li>
          * expand the binding objects to ensure they layout correctly in their 'ruler-ish' form
+
  
  3. Use the source view to naviage thru the WSDLs and XSDs. Ensure all of the following work...
+
<li>
 +
delete</li>
  
          * hold down crtl to see the hyperlinks as you mouse over them, ensure hyperlins appear for all 'references'
+
<li>
          * ctrl-lick or F3 on hypelinksto ensure 'open on' works
+
show properties</li>
          * after following a chain of referenes, ensure the 'back arrow' button allows you to reverse back up the chain
+
  
  4. Navigate thru the WSDLs and XSDs using both the design and source view (flipping between 'em) and ensure both modes of navigation work together nicely.
+
<li>
  5. Use the outline view in conjuction and ensure it interacts as expected with the source and design view
+
set type</li>
  6. From the source, design and outline views. Use the 'references->project' or 'references->workspace' for several components (portTypes, bindings, types, elements etc.) to understand how components are reused.
+
  
Function Oriented Tests
+
<li>
+
set multiplicity</li>
  
New WSDL Wizard
+
<li>
 +
Test 'Edit Namespaces...' action from the schema properties</li>
  
    * Try the various options available on the New WSDL file options page
+
<li>
          o option to create WSDL Skeleton
+
</li>
          o SOAP...document literal, rpc literal, rpc encoded
+
</ol>
          o HTTP...HTTP GET, HTTP POST
+
  
design View
+
<p/>
 +
<hr WIDTH="100%"/>
 +
<h3><b>Synchronization Tests</b></h3>
  
    * Top Level View
+
<p>Selection synchronization
          o Actions to add/remove/rename components
+
<ol>
          o Open Schema/WSDL Imports
+
          o Imported WSDL components should appear but not be editable
+
          o Inline Schemas located in the 'top level' view should allow drill down
+
          o Connecting lines should appear to show WSDL component relationships
+
    * In Drilled Down View of Schema Components...
+
          o Test that menus show proper content for different objects
+
          o Test Drag and Drop
+
          o Ensure deleting the 'top level' component pops you back to the top view
+
          o Test selection of 'simple type' icon within an element declaration
+
          o Content that originates via derivation should be demarked with dotted box
+
  
Outline View
+
<li>
 +
With the design view shown, select from outline - see if design and properties
 +
views are updated</li>
  
    * Selection from Outline view should select the corresponding object in the design view
+
<li>
    * Context menu for a particular component should be the same in both the design and Outline views
+
With the design view shown, select from design - see if outline and properties
 +
views are updated</li>
  
Source View
+
<li>
 +
Repeat for Source view</li>
 +
</ol>
 +
</p>
 +
<p>
 +
Synchronization due to Model Changes
 +
<ol>
  
    * Test editing features
+
<li>
          o Add WSDL Components
+
synchronization tests - change name of element from design - see if outline
          o Delete from source
+
and properties are updated</li>
          o Copy and paste
+
          o Test for invalid content
+
    * Test 'standard' xml content assist support (see xml source editor) for adding WSDL and schema elements
+
  
Properties View
+
<li>
 +
add/delete from the outline - verify (top level schema view)</li>
  
    * Properties view should be available for all selected schema components
+
<li>
    * Test that view can't be 'broken'... should always have 'good' content
+
edit from tabbed properties - verify views</li>
    * Imported WSDL components should not be editable through the properties
+
    * Renaming components should 'auto refactor' within source file (references to renamed component should be updated)
+
    * Update documentation for various components
+
  
Set Existing Component Dialog
+
<li>
 +
edit from the source view - ensure the views are updated</li>
  
    * Set Existing Component Dialog launched via the context menu or properties
+
<li>
          o Port
+
cut and paste sections to/from source view</li>
          o Binding
+
          o Input
+
          o Output
+
          o Fault
+
          o Part
+
    * Adjust the search scope. The available components displayed should be updated
+
    * The text filter located at the top of the dialog is used to filter the available types
+
  
Generate Binding Content
+
<li>
 +
make various random changes in the souce view and then undo</li>
  
    * Click on a Binding and select "Generate Binding Content..." from the context menu. Select the "Overwrite existing binding information option". Ensure the proper binding information is generated
+
<li>
    * Test out the different Binding options (SOAP, HTTP, etc...)
+
delete and restore element declarations from source and ensure references
 +
are updated</li>
  
Smart Renaming
+
<li>
 +
change a file locally and refresh</li>
 +
</ol>
 +
</p>
 +
<hr WIDTH="100%"/>
 +
<h3><b>Design View</b></h3>
  
    * Test smart renaming on the following Components
+
<ol>
          o Operation
+
<li>
          o Fault
+
drag and drop</li>
          o Message
+
          o Part
+
    * Renaming one of the above elements should also rename it's 'children' if the 'child' has a generated name. For example, "MyOperationName" (Operation) --> Input --> "MyOperationNameRequest" (Message) --> "MyOperationNameRequest" (Part) A rename on Operation to "NewOp" will cause the following result: "newOpName" (Operation) --> Input --> "newOpNameRequest" (Message) --> "newOpNameRequest" (Part)
+
    * The same pattern follows when renaming a Fault, Message, and Part
+
    * Initiate renaming via the context menu or the properties view
+
  
General
+
<li>
 +
drill down elements, complex types, simple types, attributes, attribute
 +
groups, groups</li>
  
    * Test the various menu actions available for different components
+
<li>
    * Reload dependancies action from the WSDL Editor menu bar
+
Top Level View</li>
    * Test 'Edit Namespaces...' action
+
 
    * Add 'import'' and test that 'new' components are available in the 'set type' dialog
+
<ol>
    * Menu actions for 'categories' should only provide actions appicable to that particular category (e.g. element category should have 'Add Element')
+
<li>
    * Undo/Redo
+
Actions to add/remove components</li>
    * View selection synchronization
+
 
    * Editing synchronization : source -> model (perform source changes below and ensure model is intact)
+
<br/>Menu actions for 'categories' should only provide actions appicable
          o cut and paste sections to/from source view
+
to category (e.g. element category should have 'Add Element')
          o make various random changes in the souce view and then undo
+
<li>
          o delete and restore component declarations from source and ensure references are updated
+
Open Schema action</li>
          o change a file locally and refresh
+
 
    * Editing synchronization : model -> source (perform designical changes below and ensure source is intact)
+
<li>
          o make random changes to the WSDL model via the graphical views
+
Direct editing for a newly created 'named' component</li>
          o make various changes in the souce view and then undo
+
 
    * F3 support
+
<li>
          o F3 on component references should cause selection to 'jump' to referenced component
+
Imported components should not appear in 'top level' view</li>
          o F3 on imports should open the imported schema or WSDL
+
 
 +
<li>
 +
Components with 'structure' should allow 'drill down'</li>
 +
 
 +
<li>
 +
Components with 'null' names should show 'nice' labels</li>
 +
</ol>
 +
 
 +
<li>
 +
Actions to 'drill down' and return 'Back to Schema View'</li>
 +
 
 +
<li>
 +
In Drilled Down View of Components...</li>
 +
 
 +
<ol>
 +
<li>
 +
Test that menus show proper content for different objects</li>
 +
 
 +
<li>
 +
Test Drag and Drop</li>
 +
 
 +
<li>
 +
Ensure deleting the 'top level' component pops you back to the top view</li>
 +
 
 +
<li>
 +
Test selection of 'simple type' icon within an element declaration</li>
 +
 
 +
<li>
 +
Content that originates via derivation should be demarked with dotted box</li>
 +
</ol>
 +
 
 +
<li>
 +
Selection from other views should drill down if required</li>
 +
 
 +
<ol>
 +
<li>
 +
Easy Selection of Simple Types within elements</li>
 +
</ol>
 +
 
 +
<li>
 +
</li>
 +
</ol>
 +
 
 +
<hr WIDTH="100%"/>
 +
<h3><b>Source View</b></h3>
 +
 
 +
<ol>
 +
<li>
 +
as-you-type validation</li>
 +
 
 +
<li>
 +
navigation</li>
 +
 
 +
<li>
 +
Test editing features</li>
 +
 
 +
<ol>
 +
<li>
 +
Add XSD Components</li>
 +
 
 +
<li>
 +
Delete from source</li>
 +
 
 +
<li>
 +
Copy and paste</li>
 +
 
 +
<li>
 +
Test for invalid content</li>
 +
</ol>
 +
 
 +
<li>
 +
Test 'standard' xml content assist support (see xml source editor) for
 +
adding schema elements</li>
 +
 
 +
<li>
 +
Test 'schema specific' content assist for the following attribute values...</li>
 +
 
 +
<ol>
 +
<li>
 +
element 'type' attribute</li>
 +
 
 +
<li>
 +
element 'ref' attribute</li>
 +
 
 +
<li>
 +
model group 'ref' attribute</li>
 +
 
 +
<li>
 +
attribute group 'ref' attribute</li>
 +
 
 +
<li>
 +
complex type's 'base' attribute</li>
 +
</ol>
 +
 
 +
<li>
 +
</li>
 +
</ol>
 +
 
 +
<hr WIDTH="100%"/>
 +
<h3><b>Properties View</b></h3>
 +
 
 +
<ol>
 +
<li>
 +
Properties view should be available for all selected schema components</li>
 +
 
 +
<li>
 +
General Tab</li>
 +
 
 +
<li>
 +
Extensions tab</li>
 +
 
 +
<li>
 +
Constraints tab for simple types</li>
 +
 
 +
<ul>
 +
<li>
 +
Test enumerations</li>
 +
 
 +
<li>
 +
Test patterns</li>
 +
 
 +
<li>
 +
Test facets</li>
 +
</ul>
 +
 
 +
<li>
 +
Documention tab</li>
 +
</ol>
 +
 
 +
<p/><br/>
 +
<hr WIDTH="100%"/>
 +
<h3><b>Outline View</b></h3>
 +
 
 +
<ol>
 +
<li>
 +
Test that click on a 'drillable top level component' causes drill down</li>
 +
 
 +
<li>
 +
Check content of tree</li>
 +
</ol>
 +
 
 +
<p/><br/>
 +
<hr WIDTH="100%"/>
 +
<h3><b>Resource File Tests</b></h3>
 +
 
 +
<ol>
 +
<li>
 +
Save</li>
 +
 
 +
<li>
 +
Save As</li>
 +
 
 +
<li>
 +
Edit file externally</li>
 +
</ol>
 +
 
 +
<p/><br/>
 +
<hr WIDTH="100%"/>
 +
<h3><b>Validation</b></h3>
 +
 
 +
<ol>
 +
<li>
 +
as you type validation</li>
 +
 
 +
<li>
 +
change type from string to stringssssssss to see squiggles</li>
 +
 
 +
<li>
 +
</li>
 +
</ol>
 +
 
 +
<p/><br/>
 +
<hr WIDTH="100%"/>
 +
<h3><b>New XSD Wizard</b></h3>
 +
 
 +
<ol>
 +
<li>
 +
Create new schemas and ensure file names when prompted are unique for each
 +
project</li>
 +
</ol>
 +
 
 +
<p/>
 +
<hr WIDTH="100%"/>
 +
<h3><b>XML Catalog Support</b></h3>
 +
 
 +
<ol>
 +
<li>
 +
Test that editor respects catalog when resolving schema locations</li>
 +
 
 +
<li>
 +
Test multiple levels of imports</li>
 +
</ol>
 +
 
 +
<p/>
 +
<hr WIDTH="100%"/>
 +
<h3><b>General</b></h3>
 +
 
 +
<ol>
 +
<li>
 +
Set Types Dialog</li>
 +
 
 +
<li>
 +
Set Element Reference Dialog</li>
 +
 
 +
<li>
 +
Undo/Redo</li>
 +
 
 +
<li>
 +
F3 support</li>
 +
 
 +
<ol>
 +
<li>
 +
From the source view, F3 on component references should cause selection
 +
to 'jump' to referenced component</li>
 +
 
 +
<li>
 +
F3 on imports or includes should 'open schema'</li>
 +
 
 +
<li>
 +
Double click on an include/import from the design view to open editor</li>
 +
</ol>
 +
 
 +
<li>
 +
Included components are greyed and menus/properties are read-only</li>
 +
 
 +
<li>
 +
Support for Refactoring</li>
 +
 
 +
<ol>
 +
<li>
 +
rename</li>
 +
 
 +
<li>
 +
make local element global</li>
 +
 
 +
<li>
 +
make anonymous type global</li>
 +
 
 +
<li>
 +
</li>
 +
</ol>
 +
</ol>
 +
 
 +
<br/>
 +
</body>
 +
<!--
 +
 
 +
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
 +
<html>
 +
<head>
 +
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 +
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
 +
<link type="text/css" href=".//default_style.css" rel="stylesheet">
 +
<link type="text/css" href=".//css/wtp.css" rel="stylesheet">
 +
<title>Test Plan</title>
 +
</head>
 +
<body>
 +
<table border="0" cellpadding="2" cellspacing="5" width="100%">
 +
<tbody>
 +
<tr>
 +
<td align="left" width="60%"><font class="indextop">Test Plans</font>
 +
<br/>
 +
<font class="indexsub">WTP XML Schema Editor FVT Plan</font></td><td width="40%"><img src="./images/wtplogosmall.jpg" align="middle" height="129" hspace="50" width="207"></td>
 +
</tr>
 +
</tbody>
 +
</table>
 +
<table BORDER="0" CELLSPACING="5" CELLPADDING="2" WIDTH="100%">
 +
<tr>
 +
<td ALIGN="LEFT" VALIGN="TOP" COLSPAN="2" BGCOLOR="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica"></font></b></td>
 +
</tr>
 +
</table>
 +
<table border="0">
 +
<tr>
 +
<center>
 +
<h1>

Revision as of 01:18, 5 May 2006


WSDL Editor test plan
WTP 1.5 Milestone 6

http://www.eclipse.org//webtools/images/wtplogosmall.jpg


Test Case 1 : Start From Scratch - Standalone

  1. Use the New XML Schema Wizard to create a new schema (alternative) Use New File to create a blank 'xsd' file ... everything should still work <p/>
  2. Select a 'target' schema that you can attempt to reproduce. Here's some suggestions but feel free to come up with your own <p/>
      Description Where
      GolfCourse XML Examples Project
      SpaceWarGame XML Examples Project
      OrgChart XML Examples Project

    <p/>

  3. Using the target schema as a guide, utilize the design view to reproduce it. Attempt to use a top down flow since this best simulates how a user would go about building from scratch (e.g. start with the main elements and types and work your way down to the leaf elements and types). Be sure to open bugs if... <p/>
    • you run into quirky problems that make editing feel unnatural
    • you need to go off to the outline or source view to work around problems
    • you hit performance problems that affect your productivity
    • etc.

    <p/>

  4. When you think your schema is complete, use the validator to ensure it's valid.
    • since the editor was used to author the schema there should be very
    • few validation problems (if any) look at these carefully and consider why the editor produced these.
    • some of the validation problems are unavoidable but in general the editor should be fairly good at protecting the users against 'bad' schemas)
    • if there are problems it's likely that the user will need to use the source view to fix them
    • ensure that all problems can be fixed in the source view and that red squggles work
    • as you fix things in the source view ensure that red squiggle indicators go away
    • ensure that when you flip back to the design view that any source view changes are reflected in the design view

    <p/>

  5. As a final test open an XML file that validates for the 'target' schema and edit a copy so that it point to the 'new' schema. Ensure the XML file validates against the 'new' schema. If it doesn't validate ensure the schema editor helps you fix the problems.

Test Case 2 : Start From Scratch - One Piece of a Larger Project

  1. Repeat Test Case 1 but recreate a schema that's a part of a multi-schema project. Here's some examples...

    <p/>

  2. Be sure to utilize the 'Browse...' function when editing type and element references.
  3. Inspect the schema after using 'Browse...' to ensure that the <include> or <import> and the 'xmlns:xxx' gets updated correctly.
  4. Inspect the source view after using 'Browse...' to ensure the type or element reference is not red squiggled (and muck with it to make sure the squiggle does show when expected)

Test Case 3 : Visualize and Browse a Large Schema

  1. Select a schema that we want to view.
  2. Use the design view to naviagate thru the schema(s). Ensure all of the following work... <p/>
    • click on items listed in the top level view to ensure 'open on' works
    • double click on type headers to 'open on' works
    • after following a chain of referenes, ensure the 'back arrow' button allows you to reverse back up the chain
    • as you navigate ensure the design view displays the correct thing and the layout and line routing is correct
     <p/>
    
  3. Use the source view to naviage thru the schema(s). Ensure all of the following work...

    • hold down crtl to see the hyperlinks as you mouse over them, ensure hyperlins appear for all 'references'
    • ctrl-lick or F3 on hypelinksto ensure 'open on' works
    • after following a chain of referenes, ensure the 'back arrow' button allows you to reverse back up the chain

  4. Browse the schema(s) by flipping between both the design and source view and ensure source view and design view navigation work together nicely.
  5. Use the outline view in conjuction with the source and design view.
  6. From the source, design and outline views. Use the 'references->project' or 'references->workspace' for several components (types, elements etc.) to understand how components are reused in the schema(s).

Test Case 4 : Refactor a large schema project

  1. a) Select one of the existing refactoring 'before and after' projects form the list below
    -- or ---
    b) Use any project and come up with a reorganization 'plan' (change names, move things around etc.) that will describe your 'target' project.
  2. Use the editor's editing and refactoring support to make the existing project look like the 'target' project.
  3. After each refactoring is applied ensure that the project validates.


Function Oriented Tests

Actions Tests

  1. add element (from design and outline)
  2. add complex type (from design and outline)
  3. add simple type
  4. add include/import/redefine
  5. add group
  6. add global attribute
  7. add attribute group
  8. add sequence
  9. add choice
  10. delete
  11. show properties
  12. set type
  13. set multiplicity
  14. Test 'Edit Namespaces...' action from the schema properties

<p/>


Synchronization Tests

Selection synchronization

  1. With the design view shown, select from outline - see if design and properties views are updated
  2. With the design view shown, select from design - see if outline and properties views are updated
  3. Repeat for Source view

Synchronization due to Model Changes

  1. synchronization tests - change name of element from design - see if outline and properties are updated
  2. add/delete from the outline - verify (top level schema view)
  3. edit from tabbed properties - verify views
  4. edit from the source view - ensure the views are updated
  5. cut and paste sections to/from source view
  6. make various random changes in the souce view and then undo
  7. delete and restore element declarations from source and ensure references are updated
  8. change a file locally and refresh


Design View

  1. drag and drop
  2. drill down elements, complex types, simple types, attributes, attribute groups, groups
  3. Top Level View
    1. Actions to add/remove components

    2. Menu actions for 'categories' should only provide actions appicable to category (e.g. element category should have 'Add Element')

    3. Open Schema action
    4. Direct editing for a newly created 'named' component
    5. Imported components should not appear in 'top level' view
    6. Components with 'structure' should allow 'drill down'
    7. Components with 'null' names should show 'nice' labels
  4. Actions to 'drill down' and return 'Back to Schema View'
  5. In Drilled Down View of Components...
    1. Test that menus show proper content for different objects
    2. Test Drag and Drop
    3. Ensure deleting the 'top level' component pops you back to the top view
    4. Test selection of 'simple type' icon within an element declaration
    5. Content that originates via derivation should be demarked with dotted box
  6. Selection from other views should drill down if required
    1. Easy Selection of Simple Types within elements

Source View

  1. as-you-type validation
  2. navigation
  3. Test editing features
    1. Add XSD Components
    2. Delete from source
    3. Copy and paste
    4. Test for invalid content
  4. Test 'standard' xml content assist support (see xml source editor) for adding schema elements
  5. Test 'schema specific' content assist for the following attribute values...
    1. element 'type' attribute
    2. element 'ref' attribute
    3. model group 'ref' attribute
    4. attribute group 'ref' attribute
    5. complex type's 'base' attribute

Properties View

  1. Properties view should be available for all selected schema components
  2. General Tab
  3. Extensions tab
  4. Constraints tab for simple types
    • Test enumerations
    • Test patterns
    • Test facets
  5. Documention tab

<p/>


Outline View

  1. Test that click on a 'drillable top level component' causes drill down
  2. Check content of tree

<p/>


Resource File Tests

  1. Save
  2. Save As
  3. Edit file externally

<p/>


Validation

  1. as you type validation
  2. change type from string to stringssssssss to see squiggles

<p/>


New XSD Wizard

  1. Create new schemas and ensure file names when prompted are unique for each project

<p/>


XML Catalog Support

  1. Test that editor respects catalog when resolving schema locations
  2. Test multiple levels of imports

<p/>


General

  1. Set Types Dialog
  2. Set Element Reference Dialog
  3. Undo/Redo
  4. F3 support
    1. From the source view, F3 on component references should cause selection to 'jump' to referenced component
    2. F3 on imports or includes should 'open schema'
    3. Double click on an include/import from the design view to open editor
  5. Included components are greyed and menus/properties are read-only
  6. Support for Refactoring
    1. rename
    2. make local element global
    3. make anonymous type global


</body>

Back to the top