<html>
<head>
<title>Shakedown Test Suite</title>
</head>
<body>

<h1>OpenOffice.org Test</h1>

<h2>Manual Testing (old TestLink cases)</h2>
<p><strong>Test cases collected from the old TestLink service in no particular order. Clink on an ".html" file to view the test case, and use it.</strong></p>

<p><strong><a href="ManualTesting">Manual Test Cases</a><strong></p>

<h2>Shakedown Test Suite</h2>

<p><strong>These tests are outdated and are only usefull for (backward) OOo 1.x testing.
We are working on new testcases. For more information about the process subscribe to our 
<a href="/servlets/ProjectMailingListList">mailinglists</a> 
and have a look at the <a href="http://l10n.openoffice.org/localization/About_TCM.html">TCM</a>
(Test Case Management) portal.
</strong></p>

<table summary="Test Assertion Groups">
<tr>
<th>Test Assertion Groups:</th>
<td></td>
</tr>

<tr>
<th><a href="assertions/install/index.html" TARGET="main">Installation Tests</a></th>
<td>Install OpenOffice.org in both standalone and networked environments</td>
</tr>

<tr>
<th><a href="assertions/graphic/index.html" TARGET="main">Filetype Test</a></th>
<td>Test that OpenOffice.org can open &amp; correctly display&nbsp; specified
file types. Can open/execute a Java applet.
<br><a href="samples/sample_file_types.zip">sample_file_types.zip</a></td>
</tr>

<tr>
<th><a href="assertions/file/index.html" TARGET="main">File Actions</a></th>
<td>Test that OpenOffice.org can create &amp; save different types of files.
Can send mail using an external mail program.</td>
</tr>

<tr>
<th><a href="assertions/insert/index.html" TARGET="main">Insert Actions</a></th>
<td>Test that OpenOffice.org can insert specified actions into a text document.</td>
</tr>

<tr>
<th><a href="assertions/edit/index.html" TARGET="main">Edit Actions</a></th>
<td>Test that OpenOffice.org edit actions function as specified with a text document. Test that
  cut and paste integrate with external editors and OpenOffice.org.</td>
</tr>

<tr>
<td><b><a href="assertions/view/index.html" TARGET="main">View Actions</a></b></td>
<td>Test OpenOffice.org view actions function as specified.</td>
</tr>

<tr>
<th><a href="assertions/format/index.html" TARGET="main">Format Actions</a></th>
<td>Test OpenOffice.org format actions function as specified.</td>
</tr>

<tr>
<th><a href="assertions/tools/index.html" TARGET="main">Tools/Options</a></th>
<td>Test OpenOffice.org tools/options function correctly.</td>
</tr>

<tr>
<th><a href="assertions/print/index.html" TARGET="main">Print</a></th>
<td>Test OpenOffice.org prints a text document to a default printer.</td>
</tr>

<tr>
<th><a href="assertions/help/index.html" TARGET="main">Help</a></th>
<td>Test OpenOffice.org help contents and functions.</td>
</tr>
</table>



</body>
</html>
