<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, DTD, XSD Validation 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, DTD and XSD Validators 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>UI-Based Functional Testing</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			For these tests, we want to ensure that the user will be
			provided with the appropriate feedback of the validation results.
			This will be via dialogs and tasks that are generated in the
			problems view.
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../../../../..//images/Adarrow.gif"></td><td>JUnit Functional Testing</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			Our primary goal in M3 Functional Testing is to ensure basic
			functions work.  JUnit functional tests will be run for the
			specified validators to determine if documents are correctly
			classified as valid or invalid.
		</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">Functional Testing</font></b></td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
    JUnit Testing
	<ul>
		
<li>Test to see if a document is valid.  The validator should report back correctly that
		    the document is either valid or invalid.</li>
		
<li>Repeat for other documents.</li>
    
</ul>
    
    UI-Based Testing
	<ul>
<b>General Scenario</b>
		
<li>Validate an invalid document and ensure problems are shown as annotations in
		    the editor's source ruler and margin</li>
		
<li>Check that error messages are listed in the problems view</li>
		
<li>Check that navigation works for error markers</li>
		
<li>Check that line numbers match error markers</li>
		
<li>Correct errors and revalidate and ensure all markers and messages are removed</li>
		
<li>Ensure popup message dialog appear with the correct validation message</li>
    
</ul>
	
<ul>
<b>XML Catalog</b>
		
<li>Test that validation works with the XML Catalog</li>
    
</ul>
	
<ul>
<b>Referenced Files</b>
		
<li>Test errors in referenced files</li>
		
<ul>
		    
<li>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</li>
		    
<li>Test similarly also for good xml, bad dtd</li>
		
</ul>
    
</ul>
	
<ul>
<b>Validation Preferences</b>
		
<li>Test validate on file save</li>
		
<li>Turn it on and off</li>
		
<li>Test global vs project settings</li>
		
<li>Test maximum number of messages</li>
        
<li>See test plan for Validation Framework</li>
    
</ul>
  

</p>
</td>
</tr>
</tbody>
</table>
</body>
</html>
