blob: 39a009dab126b5d5c40d3e7611940b1d203f07fb [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type"
content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Test Pass Three</title>
</head>
<body>
<h1>Test Pass Three: JDT UI, JDT Text, Platform Compare, Platform Text,
and Platform Search</h1>
<h3>Testers: Martin, Dani, Markus, David, Tobias, Tom, Dirk</h3>
<h2>Goal</h2>
<ul>
<li>test polish items that got added for RC2</li>
<li>test areas that might got broken by bug fixes done in RC2</li>
<li>test Java 5.0 functionality. Whenever you create some test code
please use 5.0 language features whenever possible. For example add a
type parameter to every new class, ...</li>
<li><font color="#000000">test corner cases</font></li>
<li>test setups which we typically don't use during development (for
example no Plug-in development)</li>
<li><font color="#000000">handling of error situations</font>
<ul>
<li><font color="#000000">watch log</font></li>
<li><font color="#000000">error messages</font></li>
</ul>
</li>
</ul>
<h2>Setup / Introduction</h2>
<h3><span style="font-weight: bold;">Build</span></h3>
<ul>
<li><a
href="http://download.eclipse.org/eclipse/downloads/drops/I20050610-1757/index.php">eclipse-SDK-3.1RC2</a></li>
</ul>
<h3>Platforms</h3>
<ul>
<li>Linux-GTK FedoraCore (Tom)</li>
<li>Mac OS (Tobias, Tuesday)</li>
<li>Windows XP (all others test)</li>
</ul>
<h3>General Items (everybody)</h3>
<ul>
<li>Whenever you have to fill in data in dialogs try to fool the
dialog by providing incomplete or bogus input</li>
<li>Watch for view updating (package explorer, browsing perspective,
outliner) when source content gets changed</li>
</ul>
<h3>Use of different fonts (everybody)</h3>
<ul>
<li>change font for text editor and dialogs to different font</li>
<li>check that dialogs are rendered correctly
<ul>
<li>specified dialog font is used</li>
<li>no buttons and labels clipped</li>
</ul>
</li>
</ul>
<h3>Workspace Setup</h3>
<p>Setup workspace in a way unusual compared to your normal setup.
Testing should take place in one of the following workspace setups. When
setting up the workspace test also the functionality to setup this
workspace style:</p>
<ul>
<li>use external projects (Tom)</li>
<li>use linked resources (Dirk &amp; Martin)
<ul>
<li><font color="#000000">linked output folders</font></li>
<li><font color="#000000">linked source folders</font></li>
<li><font color="#000000">linked and nested source folders</font></li>
<li>test rendering in views<font color="#000000"></font></li>
<li><font color="#000000">linked class folders</font></li>
</ul>
</li>
<li>use multiple output folder (Dani)</li>
<li>use combination of exclusion &amp; inclusion filters (David)</li>
<li>use user defined library containers (JUnit as a user defined
library) (Tobias)
<ul>
<li>quick fixes for unbound user libraries</li>
<li>quick fixes for build path problems</li>
</ul>
</li>
<li>full source workspace (Markus)</li>
</ul>
<h3>Java Editor in Single Method mode (Martin, Tobias, Markus)</h3>
<ul>
<li>half of the team should test with editor in single edit mode</li>
<li>corner case
<ul>
<li>segmented mode, formatting, undo/redo</li>
</ul>
</li>
</ul>
<h3>Multiple Windows (Tobias, Markus, David, Dirk)</h3>
<ul>
<li>half of the team tests with multiple windows.</li>
<li>switch between windows for different actions</li>
<li>watch for wrong window popping to front</li>
<li>watch for wrong dialog parenting</li>
</ul>
<h3>Multiple Editor Areas (Tom, Markus)</h3>
<ul>
<li> test with multiple editor areas, i.e. multiple editor tab folders</li>
<li> watch for focus problems</li>
<li> watch for positioning problems when opening dialogs and info pops</li>
</ul>
<h3>Java Perspective / Browsing Perspective / Working Set mode</h3>
<ul>
<li>third of the team tests in browsing perspective (Martin, Markus)</li>
<li>third of the team tests in Java perspective using project mode in
package explorer (Dirk, Dani, Tom)</li>
<li>third of the team tests in Java perspective using the working set
mode in the package explorer (Tobas, David)</li>
</ul>
<h3>Automatic workspace refresh (Markus, Dirk, Dani)</h3>
<ul>
<li>half of the team tests with automatic workspace refresh enabled (<span
style="font-weight: bold;">Preferences &gt; Workbench &gt; Refresh</span>
workspace automatically</li>
</ul>
<h2>3.1 RC2 items</h2>
<h4>Bug verification (all)</h4>
<ul>
<li>Verify ALL bugs fixed during RC1 (<a
href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;product=JDT&amp;component=Text&amp;component=UI&amp;target_milestone=3.1+RC2&amp;long_desc_type=allwordssubstr&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=RESOLVED&amp;emailtype1=substring&amp;email1=&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=">JDT/UI
&amp; JDT/Text</a>, <a
href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;product=Platform&amp;component=Text&amp;target_milestone=3.1+RC2&amp;long_desc_type=allwordssubstr&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=RESOLVED&amp;emailtype1=substring&amp;email1=&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=">Platform/Text</a>,<a
href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;product=Platform&amp;component=Search&amp;target_milestone=3.1+RC2&amp;long_desc_type=allwordssubstr&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=RESOLVED&amp;emailtype1=substring&amp;email1=&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=">Platform/Search</a>).</li>
</ul>
<h4>Search engine and impact on Refactorings (David, Tobias FAQ: Markus)</h4>
Test rename method and Change Method Signature on methods whose
parameters contain type variables and that are overridden in subclasses
where the type variables are bound to a concrete type. e.g.<br>
<div style="margin-left: 40px;">class Top&lt;E&gt; {<br>
&nbsp;&nbsp;&nbsp; void add(E e) {}<br>
}<br>
class Sub extends Top&lt;String&gt; {<br>
&nbsp;&nbsp;&nbsp; void add(String s) {}<br>
}<br>
</div>and clients calling both add methods<h4>Infer Generic Type Arguments (Dirk, Martin FAQ: Markus)</h4>
<ul>
<li>sanity check that it doesn't do too weird things with big
projects:</li>
<ul>
<li>is cancellable</li>
<li>heap consumption &lt; 300MB</li>
<li>only leaves zero or a few compile errors</li>
</ul>
<li>sanity check with "normal" code using collections</li>
</ul>
<h4>Refactorings (David, Dani FAQ: Tobias)</h4>
<ul>
<li>Convert Anonymous: Correctly works with references to enum
constants, respects naming conventions</li>
<li>Extract Interface/Use Supertype Where Possible: Verify on generic
classes with parameterized superclasses/interfaces that all
references are updated</li>
<li>Move Member Type to New File: Verify on generic classes, nested
enums</li>
<li>Move Static: Verify moving of generic static methods</li>
<li>Add Constructor From Superclass: Proposes correct constructors
for generic class hierarchies containing abstract classes, inserts the
selected one correctly</li>
<li>Test extract method inside methods with type parameters. Test with cases where the type parameter is directly referenced by the selection or indirectly through the fact that a local or parameter gets generated which refers to the type parameter.</li>
</ul>
<h4>Source Actions (Markus, Martin FAQ: Tobias)</h4>
<ul>
<li>
Override/Implement Method: Verify on generic classes, verify sorting</li>
<li>Generate Delegate: Verify on generic classes, verify sorting, test
that no synchronized statements are generated and no TODO tags, test
that the selected methods are correctly associated with the
corresponding fields in the generated code</li>
<li>Add Constructor from superclass: verify that all avaible constructors are proposed and that no constrcutors are proposed which already exist in the class (since they have the same signature as the constructor from the superclass).</li>
<li>Code Assist for anonymous types: Verify that the Override Method
dialog shows up on classes only and that the correct methods are
generated. Test for normal top level classes, secondary top level classes, member types both static and non static and from withing the same CU and different CU.</li>
<li>Surround With try catch: test the action with comments in front/back of the statement to be surrounded. Test with comment selected and not selected. Make sure that comments don't get lost and don't get duplicated. Also test with the expression throwing the exception being the initializer of a variable declaration (e.g. URL url= file.toURL()).</li>
</ul><h4>Java Editor (Dani, Tobias)</h4>
<ul>
<li>test hovers on generic types, inner types, signatures with
varargs, signatures with primitive types, ... (FAQ: Martin)</li>
<li>Occurrence Marking (FAQ: Dani)
<ul>
<li>look for cheese</li>
<li>implements/overrides occurrence marking</li>
<li>test with 5.0 code</li>
</ul>
</li>
<li>Code Assist (disable sorting of proposals)
(FAQ: Dani)<ul>
<li>test code assist at various locations and verify that the
proposals make sense and are correct</li>
<li>test code assist with 5.0 code</li>
<li>performance: test if performance is acceptable</li>
<li>initial list</li>
<li>narrowing down the list while typing</li>
</ul>
</li>
</ul>
<h4>Text Editor (Dani, David) FAQ: Dani)</h4>
<ul>
<li>Typing
<ul>
<li>stress indent command (Ctrl+I) in the Java editor</li>
<li>test move/copy lines</li>
<li>type code and verify that performance is acceptable</li>
</ul>
</li>
</ul>
<h4>Undo (David, Tom FAQ: Dani)</h4>
<ul>
<li>make changes in different files and switch between them while
performing undo and redo</li>
<li>verify that the undo/redo menu labels are correct (e.g. 'Typing'
for text changes)</li>
<li>go through the various undo bugs from M7 to now and re-verify them</li>
<li>test undo when mixing refactorings ands text changes. Especially test wih refactoring that on't provide an undo (for example moving fields). Make sure that editor undo stack isn't corrupted and that the move can be undone by undoing the textual changes in the source and target editor.</li>
</ul>
<h4>Saving (Tobias, Martin) test both, Text and Java editor) (FAQ: Dani)</h4>
<ul>
<li>
'save as' over existing filessave external files</li>
<li>behavior when file gets deleted outside Eclipse</li>
<li>with auto-refresh</li>
<li>without auto-refresh</li>
<li>test that messages in dialogs make sense</li>
</ul>
<h4>Folding and segmented mode (Tom, Markus FAQ: Dani)</h4>
<ul>
<li>
verify correct folding </li>
<li>verify that semantic highlighting for expanded code is there</li>
<li>test each mode on its own</li>
<li>toggle between the modes</li>
<li>test that opening a member from Type Hierarchy and Package Explorer
correctly appears in segmented mode</li>
</ul>
<h4>URL Hyperlinking (Dirk, Martin FAQ: Dani)</h4>
<ul>
<li>test in Text and Java editor</li>
<li>test that the General &gt; Web Browser preferences are honored</li>
</ul>
<h4>File Associations, Content Types and opening of editors (Tom, Markus FAQ: Dani)</h4>
<ul>
<li>
test that text, Java and properties file content type are present</li>
<li>test that the corresponding editors open</li>
<li>test that other editors can be bound to such files and appear in
'Open With'</li>
<li>test that other editors can be set as the default editor</li>
</ul><h4>Externalize Strings wizard (Tobias, Dirk FAQ: Dani)</h4><ul>
<li>
test initial externalization</li>
<li>test with a file that's partially externalized </li>
<li>test 'normal' and Eclipse externalization mode</li>
</ul>
<h4>New Project Wizard (Dirk, David FAQ: Martin)</h4>
<ul>
<li>Test the JDK compliance mode on the first place. Verify that the compiler compliance setting is updated as well as a JDK is choosen which at least supports the requested level.</li>
<li>Verify that removing a linked folder from the
build path shows dialog to choose whether to unlink the folder as well.</li>
<li>Go through the examples in the Project configuration tutorial and check how the new wizard helps to link existing sources into a project.</li>
</ul>
<h4>Build path (Dani, Dirk, FAQ: Martin)</h4>
<ul>
<li>test add/remove, include/exclude and change output folder using
the actions from the Build Path sub menu. Always check the
inclusion/exclusion side effects. Check for all dialogs the behaviour
on cancel.</li>
</ul>
<h4>Build path dialog (Tom, Markus FAQ: Dirk, Martin)</h4>
<ul>
<li>modify every single attribute that can be modified by the build
path dialog. After every single modification close the dialog and check
that the modification got correctly applied. Test add, change and
remove of attributes. Don't forget source locations, javadoc, native
libraries, access restrictions, ...</li>
</ul>
<h4>Quick Fix (Markus, Tom FAQ: Martin)</h4>
<ul>
<li>Test quick fixes suppress warnings, access restriction
references, changing to 5.0 compliance</li>
<li>Test quick fixes that create/corrrect methods/fields with
wildcards, variables. </li>
<li>Enhanced for loop: Shows only up for 1.4 projects, works on
arrays and any java.lang.Iterable, respects naming conventions, offers
completion proposals in linked mode, proposals include already existing
element</li>
</ul>
<h4>Open External Javadoc (Tobias, Dani FAQ: Martin)</h4>
<ul>
<li>&nbsp;&nbsp;&nbsp; Test the javadoc attribute in containers, e.g.
user libraries and verify that the javadoc correctly opens</li>
</ul>
<h4>Project specific settings (Tobias, David FAQ: Martin better steps needed here)</h4>
<ul>
<li>Modify formatter profiles that are used in other projects or
workspace</li>
</ul>
<h4>JUnit (Markus, Dirk FAQ: Tobias)</h4>
<ul>
<li>JUnit Test Case Wizard: Verify that the wizard works on generic
classes as well, test the generated method stubs for meaningful
signatures, verify correctness of comments</li>
<li>JUnit View: Verify that all context menus are displayed, no error
in log, run button is correctly disabled if no test can be run, using
keepalive feature: verify that indication is shown when test is
finished, verify that selected testcase is accessible by Enter key</li>
<li>Recreate Test Suite: Verify that recreate test suite is still
possible when renaming the test suite to a name ending with ...Tests</li>
<li>Search Referring Tests: Verify that menu entry is correctly
enabled/disabled on selection changes</li>
<li>Test new view menu option Active on Error/Failuer only. Test that the option is shared between all JUnit views (e.g when changed in one it also changes in another view).</li>
</ul>
<h4>Open Type Dialog (Dani, Tobias FAQ: Dirk)</h4>
<ul>
<li>Check that the open type dialog waits until the initialize after load job is completed (quick try to open the dialg after Eclipse has started)</li>
<li>Check that secondary top level types which share the same name prefix as the top level type itself (e.g.NameTop, NameSecond) both show up the dialog and can be norrowed down to.</li>
</ul>
<h4>Package Explorer (Tom, David FAQ: Dirk)</h4>
<ul>
<li>Test working set setup where the project is part of more than one working set. Test that adding, chancing and removing elements are reflected in all working sets that contain the element.</li>
</ul>
<h4>New synthetic method filter (Markus, Tom FAQ: Dirk)</h4>
<ul>
<li>Test new sythetic method filter. Test that the methods are correctly filtered and the no methods are filtered that aren't synthetic.</li>
</ul>
<h4>Drag and Drop (Dirk, Dani FAQ: Tobias)</h4>
<ul>
<li>Move/ Drag&amp;Drop: Verify that an element cannot be moved to a
child element (eg. a type to a field). Test that all other moves of elements of a compilation unit are allowed in the same CU and to another CU.</li>
</ul>
<h4>Preferences (David, Dani FAQ: Tobias, Dani)</h4>
<ul>
<li>Test searching for common and more specific
keywords (Java vs. autoboxing, compiler vs. deprecated, editor vs.
projectspecific). Make sure that the pages show up as expected.</li>
</ul>
<h2>Realize a project (everybody)</h2>
<p>When done with your assigned items from above start realizing whatever &quot;small&quot; project you want. Setup new projects, adjust preferences settings to your normal programming style. Implement the project using J2SE 5.0 features. The goal is to test functionality not covered by your daily developement.</p></body>
</html>