| <?xml version="1.0" encoding="utf-8"?> | 
 | <?xml-stylesheet type="text/xsl" href="../../../../wtp.xsl"?> | 
 | <html> | 
 | <head> | 
 |   <meta name="root" content="../../../../../" /> | 
 |   <title>wtp 1.5 test plan</title> | 
 | </head> | 
 | <body> | 
 |  | 
 | <h1>WTP XML Schema Editor Test Plan</h1> | 
 |  | 
 | <h2>Status of this Document</h2> | 
 | <ol> | 
 | <li> | 
 | 20060501 - Created for WTP 1.5 | 
 | </li> | 
 | </ol> | 
 |  | 
 | <p/> | 
 | <h2>Task Oriented Tests</h2> | 
 |  | 
 | <h3>Use Case 1 : Start from scratch - standalone</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 | 
 | </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/>TODO make a list | 
 | </li> | 
 | <li>Using the target schema as a guide, utilize the graph view to reproduce it. Attempt to use a top down flow since this best simulates how | 
 | a user would go about building this from scratch (e.g. start with the main elements and types and work your way down to the leaf elements and types). | 
 | <p/>Open bugs if... | 
 | <p/>- you run into quirky problems that make editing feel unnatural | 
 | <br/>- you need to go off to the outline or source view to work around problems | 
 | <br/>- you hit performance problems that affect your productivity | 
 | <br/>- etc. | 
 | </li> | 
 | <li>When you think your schema is complete, use the validator to ensure it's valid. | 
 | <br/>- 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. | 
 | <br/>(some of the validation problems are unavoidable but in general | 
 | the editor should be fairly good at protecting the users against 'bad' | 
 | schemas) | 
 | <br/>- if there are problems it's likely that the user will need to use | 
 | the source view to fix them | 
 | <br/>- ensure that all problems can be fixed in the source view and that | 
 | red squggles work | 
 | <br/>- as you fix things in the source view ensure that red squiggle indicators | 
 | go away | 
 | <br/>- ensure that when you flip back to the graph view that any source | 
 | view changes are reflected in the graph view | 
 | </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. | 
 | </li> | 
 | </ol> | 
 |  | 
 | <h3>Use Case 2 : Start from scratch - part of a larger project</h3> | 
 | <ol> | 
 | <li>Repeat UseCase1 but recreate a schema that's a part of a larger project. Here's some examples... | 
 | <p/>TODO make a list | 
 | </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 <include> | 
 | or <import> 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> | 
 |  | 
 | <h3>Use Case 3 : Visualize and browse a large schema or schema project</h3> | 
 | <ol> | 
 | <li>Select a schema that we want to view. | 
 | </li> | 
 | <li>Use the graph view to naviagate thru the schema(s). Ensure all of the following work... | 
 | <br/>- click on items listed in the top level view to ensure 'open on' works | 
 | <br/>- double click on type headers to 'open on' works | 
 | <br/>- after following a chain of referenes, ensure the 'back arrow' button | 
 | allows you to reverse back up the chain | 
 | <br/>- as you navigate ensure the graph view displays the correct thing | 
 | and the layout and line routing is correct | 
 | </li> | 
 | <li>Use the source view to naviage thru the schema(s). Ensure all of the following work... | 
 | <br/>- hold down crtl to see the hyperlinks as you mouse over them, ensure | 
 | hyperlins appear for all 'references' | 
 | <br/>- ctrl-lick or F3 on hypelinksto ensure 'open on' works | 
 | <br/>- after following a chain of referenes, ensure the 'back arrow' button | 
 | allows you to reverse back up the chain | 
 | </li> | 
 | <li>Browse the schema(s) by flipping between both the graph and source | 
 | view and ensure source view and graph view navigation work together nicely. | 
 | </li> | 
 | <li>Use the outline view in conjuction with the source and graph view. | 
 | </li> | 
 | <li>From the source, graph 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). | 
 | </li> | 
 | </ol> | 
 |  | 
 | <h3>Use Case 4 : Refactor a large schema project</h3> | 
 | <ol> | 
 | <li>a) Select one of the existing refactoring 'before and after' projects form the list below | 
 | <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> | 
 |  | 
 |  | 
 | <h2>Function Oriented Tests </h2> | 
 |  | 
 | <h3>Actions Tests</h3> | 
 |  | 
 | <ol> | 
 | <li> | 
 | add element (from graph and outline)</li> | 
 |  | 
 | <li> | 
 | add complex type (from graph and outline)</li> | 
 |  | 
 | <li> | 
 | add simple type</li> | 
 |  | 
 | <li> | 
 | add include/import/redefine</li> | 
 |  | 
 | <li> | 
 | add group</li> | 
 |  | 
 | <li> | 
 | add global attribute</li> | 
 |  | 
 | <li> | 
 | add attribute group</li> | 
 |  | 
 | <li> | 
 | add sequence</li> | 
 |  | 
 | <li> | 
 | add choice</li> | 
 |  | 
 | <li> | 
 | delete</li> | 
 |  | 
 | <li> | 
 | show properties</li> | 
 |  | 
 | <li> | 
 | set type</li> | 
 |  | 
 | <li> | 
 | set multiplicity</li> | 
 |  | 
 | <li> | 
 | Test 'Edit Namespaces...' action from the schema properties</li> | 
 |  | 
 | <li> | 
 | </li> | 
 | </ol> | 
 |  | 
 | <p/> | 
 | <hr WIDTH="100%"/> | 
 | <h3>Synchronization Tests</h3> | 
 |  | 
 | <h4>Selection synchronization</h4> | 
 | <ol> | 
 |  | 
 | <li> | 
 | With the graph view shown, select from outline - see if graph and properties | 
 | views are updated</li> | 
 |  | 
 | <li> | 
 | With the graph view shown, select from graph - see if outline and properties | 
 | views are updated</li> | 
 |  | 
 | <li> | 
 | Repeat for Source view</li> | 
 | </ol> | 
 |  | 
 | <h4> | 
 | Synchronization due to Model Changes</h4> | 
 | <ol> | 
 |  | 
 | <li> | 
 | synchronization tests - change name of element from graph - see if outline | 
 | and properties are updated</li> | 
 |  | 
 | <li> | 
 | add/delete from the outline - verify (top level schema view)</li> | 
 |  | 
 | <li> | 
 | edit from tabbed properties - verify views</li> | 
 |  | 
 | <li> | 
 | edit from the source view - ensure the views are updated</li> | 
 |  | 
 | <li> | 
 | cut and paste sections to/from source view</li> | 
 |  | 
 | <li> | 
 | make various random changes in the souce view and then undo</li> | 
 |  | 
 | <li> | 
 | delete and restore element declarations from source and ensure references | 
 | are updated</li> | 
 |  | 
 | <li> | 
 | change a file locally and refresh</li> | 
 | </ol> | 
 |  | 
 | <hr WIDTH="100%"/> | 
 | <h3> | 
 | Graph View</h3> | 
 |  | 
 | <ol> | 
 | <li> | 
 | drag and drop</li> | 
 |  | 
 | <li> | 
 | drill down elements, complex types, simple types, attributes, attribute | 
 | groups, groups</li> | 
 |  | 
 | <li> | 
 | Top Level View</li> | 
 |  | 
 | <ol> | 
 | <li> | 
 | Actions to add/remove components</li> | 
 |  | 
 | <br/>Menu actions for 'categories' should only provide actions appicable | 
 | to category (e.g. element category should have 'Add Element') | 
 | <li> | 
 | Open Schema action</li> | 
 |  | 
 | <li> | 
 | Direct editing for a newly created 'named' component</li> | 
 |  | 
 | <li> | 
 | Imported components should not appear in 'top level' view</li> | 
 |  | 
 | <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> | 
 | Source View</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> | 
 | Properties View</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> | 
 | Outline View</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> | 
 | Resource File Tests</h3> | 
 |  | 
 | <ol> | 
 | <li> | 
 | Save</li> | 
 |  | 
 | <li> | 
 | Save As</li> | 
 |  | 
 | <li> | 
 | Edit file externally</li> | 
 | </ol> | 
 |  | 
 | <p/><br/> | 
 | <hr WIDTH="100%"/> | 
 | <h3> | 
 | Validation</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> | 
 | New XSD Wizard</h3> | 
 |  | 
 | <ol> | 
 | <li> | 
 | Create new schemas and ensure file names when prompted are unique for each | 
 | project</li> | 
 | </ol> | 
 |  | 
 | <p/> | 
 | <hr WIDTH="100%"/> | 
 | <h3> | 
 | XML Catalog Support</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> | 
 | General</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 graph 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> | 
 |  | 
 | --> | 
 | </html> |