<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="../../../../..//default_style.css" type="text/css">
<link rel="stylesheet" href="../../../../..//webtools/wtp.css" type="text/css">
<title>wtp milestone 3 test plan</title>
</head>
<body>
<table width="100%" cellspacing="5" cellpadding="2" border="0">
<tbody>
<tr>
<td width="60%" align="left"><font class="indextop">XML Catalog M3 test plan</font>
<br>
<font class="indexsub">wtp milestone 3 test plan</font></td><td width="40%"><img width="120" hspace="50" height="86" align="middle" src="../../../../..//images/Idea.jpg"></td>
</tr>
</tbody>
</table>
<table width="100%" cellspacing="5" cellpadding="2" border="0">
<col width="16">
<col width="*">
<tbody>
<tr>
<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Status of this Document</font></b></td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
This is the test plan for the XML Catalog for the Milestone 3 release.
Last updated on 02/23/2005.
</p>
</td>
</tr>
<tr>
<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Overall goals</font></b></td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../../../../..//images/Adarrow.gif"></td><td>Co-developer Testing</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			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.
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../../../../..//images/Adarrow.gif"></td><td>API Testing</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			Here in M3 we don't consider we have any official API yet
			(since not spec'd as such) but will reserve this space for
			future plans to details were API Unit tests are, their
			coverage, etc.
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../../../../..//images/Adarrow.gif"></td><td>End User Testing</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			Our primary goal in M3 End-User Testing is to ensure basic
			functions work.  Specifically, we want to confirm that the
			user is able to add, modify and delete catalog entries.
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			I might also point out that 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
			<i>they</i>
			expected, even if it is working as designed.
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			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
			<i>testdata</i>
			directory under the
			<i>development</i>
			directory of relevant component so that testers (from
			immediate team, or community) can easily check out into the
			environment being tested.
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../../../../..//images/Adarrow.gif"></td><td>Platform Testing</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			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.
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../../../../..//images/Adarrow.gif"></td><td>Performance Testing</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			We do not have any specific performance testing planned for
			M3, but will add automated performance tests along the lines
			of the Eclipse base performance unit tests in future
			milestones.
		</p>
</td>
</tr>
<tr>
<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Tests</font></b></td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<ul>
		
<li>Add an XML Catalog entry with the following properties, for an XML document</li>
		
<br>
		
<br>
		
<table border="1" width="90%" cellspacing="2" cellpadding="2">
	      
<tr style="text-align: center">
	        
<th>Test</th><th>Key</th><th>Key Type</th><th>URI</th>
	      
</tr>
	      
<tr>
	        
<td>1.</td>
	        <td>web (http) reference to file</td>
	        <td>Public ID</td>
	        <td>any workspace file</td>
	      
</tr>
	      
<tr>
	        
<td>2.</td>
	        <td>web (http) reference to file</td>
	        <td>System ID</td>
	        <td>any workspace file</td>
	      
</tr>
	      
<tr>
	        
<td>3.</td>
	        <td>Workspace file</td>
	        <td>Public ID</td>
	        <td>any workspace file</td>
	      
</tr>
	      
<tr>
	        
<td>4.</td>
	        <td>Workspace file</td>
	        <td>System ID</td>
	        <td>any workspace file</td>
	      
</tr>
	    
</table>
	
</ul>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<ul>
		
<li>Add an XML Catalog entry with the following properties, for an XML Schema document</li>
		
<br>
		
<br>
		
<table border="1" width="90%" cellspacing="2" cellpadding="2">
	      
<tr style="text-align: center">
	        
<th>Test</th><th>Key</th><th>Key Type</th><th>URI</th>
	      
</tr>
	      
<tr>
	        
<td>1.</td>
	        <td>web (http) reference to file</td>
	        <td>Schema Location</td>
	        <td>any workspace file</td>
	      
</tr>
	      
<tr>
	        
<td>2.</td>
	        <td>web (http) reference to file</td>
	        <td>Schema Location</td>
	        <td>any workspace file</td>
	      
</tr>
	      
<tr>
	        
<td>3.</td>
	        <td>Workspace file</td>
	        <td>Namespace Name</td>
	        <td>any workspace file</td>
	      
</tr>
	      
<tr>
	        
<td>4.</td>
	        <td>Workspace file</td>
	        <td>Namespace Name</td>
	        <td>any workspace file</td>
	      
</tr>
	    
</table>
        You can keep these entries when you test the tools or editors that make use of the catalog.
	</ul>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<ul>
		
<li>Edit an entry</li>
		
<li>Delete an entry</li>
		
<li>Export an XML Catalog setting to the filesystem</li>
		
<li>Import an XML Catalog setting from the filesystem</li>
	
</ul>
</td>
</tr>
</tbody>
</table>
</body>
</html>
