forked from eclipse-platform/www.eclipse.org-swt
-
Notifications
You must be signed in to change notification settings - Fork 0
/
test_plan.html
186 lines (182 loc) · 8.55 KB
/
test_plan.html
1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>SWT Test Plan</title><meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"><link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css"></head><body> <h1>SWT Test Plan</h1><h2>Tests</h2><p>In the following descriptions, the SWT examples referred to are found in the dev.eclipse.org GIT repository as follows:</p><ul><li>ControlExample is found in project org.eclipse.swt.examples in org.eclipse.swt.examples.controlexample</li><li>CustomControlExample is found in project org.eclipse.swt.examples in org.eclipse.swt.examples.controlexample</li><li>ClipboardExample is found in project org.eclipse.swt.examples in org.eclipse.swt.examples.clipboard</li><li>DNDExample is found in project org.eclipse.swt.examples in org.eclipse.swt.examples.dnd</li><li>BrowserExample is found in project org.eclipse.swt.examples in org.eclipse.swt.examples.browserexample</li><li>JUnit tests are found in project org.eclipse.swt.tests</li></ul><ol><li><b>Verify tools are up to date</b> <ol type=a> <li>Ensure all public API is exercised through a JUnit test</li> <br>-to ensure all cases are covered, we need to inspect the tests manually for API changed in this release <li>Ensure ControlExample allows you to set all supported style bits and all settable properties for all native widgets</li> <br>-repeat with the CustomControlExample <li>Ensure ClipboardExample covers all provided data types and all widgets that support copy and paste <li>Ensure DNDExample covers all provided data types and all widgets including custom widgets </ol><li><b>Verify API behaviour</b> <ol type=a> <li>Ensure all public and protected API is identical across platforms</li> <br>-this is done by examining the public and protected classes, methods and fields and comparing to the Windows API <li>Execute all JUnit tests and report errors and failures</li> </ol><li><b>Verify Visual Appearance</b> <ol type=a> <li>Examine visual appearance for all combinations of style bits and settable parameters.</li> <br>-this is done using the ControlExample <br>-repeat for a variety of fonts and skins/themes <br>-use NLS translation file for locale <br>-look for flash and cheese when resizing and when overlapping with another window <br>-repeat with DBCS characters where applicable <br>-repeat with the CustomControlExample <li>Visually examine the preferred size for each widget</li> <br>-this is done using the ControlExample and selecting the "preferred size" checkbox <br>-make sure that all parts of the widget can be seen properly <br>-repeat for a variety of fonts and skins/themes <br>-repeat for all style bits and settable properties <br>-repeat with DBCS characters where applicable <br>-repeat with the CustomControlExample </ol><li><b>Widget behaviour</b> <ol type=a> <li>Exercise each widget and ensure behaviour is correct for the platform</li> <br>-this is done using the ControlExample <br>-to verify correct platform behaviour, compare with native applications. On Windows use Control Spy examples, on GTK use the GTK demo, we need to identify similar standard applications on other platforms <br>-test behaviour with all styles and all settable properties <br>-repeat with DBCS characters where applicable <li>Test Clipboard interaction</li> <br>-this is done using the ClipboardExample <br>-copy data within the ClipboardExample <br>-copy data from ClipboardExample to another application <br>-copy data from another application to the ClipboardExample <br>-repeat for all data types and widgets <br>-repeat with DBCS characters where applicable <li>Test Drag and Drop</li> <br>-this is done using the DNDExample <br>-repeat for all operation combinations and all type combinations <br>-repeat for all widgets <br>-drag data within the DNDExample <br>-drag data from DNDExample to another application <br>-drag data from another application to the DNDExample <br>-repeat for all data types and widgets <br>-repeat with DBCS characters where applicable <li>Test Accessibility (Windows, GTK, OS X)</li> <br>-this is done using the ControlExample <br>-on Windows use JAWS and Active Accessibility Object Inspector to verify results <br>-on GTK use Gnopernicus and Ferret to verify results <br>-on OS X turn on the VoiceOver screen reader <br>-for each widget including custom widgets make sure that the name, role, state and value is correct <br>-repeat with DBCS characters where applicable <br>-repeat with the CustomControlExample <li>Test Web Browser</li> <br>Run the Web Browser example as a plugin within Eclipse. <br>Navigate to 'rich' webpages such as www.cnn.com, www.ibm.com. Browse, resize, click, try to break things. <br>Run the Browser Demo example as a plugin within Eclipse. <br>Try the different panes in the Browser Demo example. <br>The BrowserExample should run on the <a href="faq.html#browserplatforms">supported platforms</a>. <br>On unsupported platforms, verify that the browser example fails gracefully (no GP). </ol><li><b>Cross platform consistency</b> <ol type=a> <li>Test that the events received are consistent across platforms <br>-use the ControlExample and open the event console using the menu Control -> Log Events <br>-exercise each widget and compare result with Windows </ol><li><b>Performance</b> <ol type=a> <li>Add benchmark measurements to all JUnit tests</li> <li>Run JUnit tests with benchmarks</li> <br>-compare results from the last SWT release (where possible) <br>-compare results across all platforms </ol><li><b>Standalone SWT</b> <ol type=a> <li>Install the Standalone version of SWT - See the section titled "SWT Binary and Source" near the bottom of the Eclipse download page <li>Make sure that the installation of SWT includes the following items: <p><b>Windows</b></p> <ul> <li>about.html</li> <li>src.zip</li> <li>swt.jar</li> <li>swt-debug.jar</li> <li>Ijg_readme</li> <li>mpl-v11.txt</li> </ul> <p><b>GTK</p></b> <ul> <li>about.html</li> <li>src.zip</li> <li>swt.jar</li> <li>swt-debug.jar</li> <li>about_cairo.html [Linux only]</li> <li>Ijg_readme</li> <li>lgpl-v21.txt</li> <li>mpl-v11.txt</li> <li>pixman-licences.txt [Linux only]</li> </ul> <p><b>Mac(Cocoa)</p></b> <ul> <li>about.html</li> <li>src.zip</li> <li>swt.jar</li> <li>swt-debug.jar</li> <li>Ijg_readme</li> <li>mpl-v11.txt</li> </ul> <p> </li> <li>Install the SWT examples from the Eclipse download page <li>Run the control example using a command like the following: <p><b>Windows</b></p> <code>java -classpath C:\SWT\swt.jar;C:\eclipse\plugins\org.eclipse.swt.examples_<version>\swtexamples.jar org.eclipse.swt.examples.controlexample.ControlExample</code> <p><b>GTK</b></p> <code>java -classpath /home/me/SWT/swt.jar:/home/me/eclipse/plugins/org.eclipse.swt.examples_<version>/swtexamples.jar org.eclipse.swt.examples.controlexample.ControlExample</code> <p><b>Mac</p></b> <code>java -XstartOnFirstThread -classpath /home/me/SWT/swt.jar:/home/me/eclipse/plugins/org.eclipse.swt.examples_<version>/swtexamples.jar org.eclipse.swt.examples.controlexample.ControlExample</code> <p> </li> <li>Ensure that the example comes up successfully and runs.</li> </ol><li><b>Eclipse</b> <ol type=a> <li>Open several dialogs - check for modality</li> <li>Open several Views</li> <li>Open several Perspectives</li> <li>Invoke several keyboard accelerators</li> <li>Invoke several menus and context menus</li> <li>Navigate around windows using keyboard</li> <li>Check for platform consistency</li> <br>-look for application defined capabilities that are not consistent with platform behaviour <br>(e.g. menus coming up on mouse up rather than mouse down on mac) <br>(e.g. Control key accelerators defined on mac) </ol></ol><p>If you are interested in helping with the SWT testing activities, please email<a href="mailto:[email protected]">[email protected]</a> indicating which of the above testing activities you would like to participate in. </p></body></html>