JDT Core / Release Candidate 1 : Testing Plan 
Verify all RC1 fixes (David, Olivier)
2.1 backward compatibility (David, Frédéric)
  • ensure we can open a relocated 2.1 dev workspace (search, build, codeassist, package view, preferences)
  • take a 3.0 shared project (using classpath enhancements such as inclusion patterns, nested source folders, multiple output folders) and check it out in a 2.1 client. Do we properly ignore extra information ?
Performance (Olivier, Kent)
  • bench startup times in various modes (hierarchy view opened or not, many source plugins, many binary plugins)
  • compare various operations against 2.1: create Throwable type hierarchy, rebuild all workspace, search for references to method Collection#add().
  • check behavior of startup when previous session was interrupted abruptely, or was exited before indexing was finished
  • bench transient memory allocation after recent optimizations
Reconciling (Philippe, Frédéric)
  • unexpected errors (concurrency issues?) when performing changes in between various open editors. If not updating properly, could be UI refresh or reconciling. Enabling trace can indicate if reconciliation diagnosis was right.
  • paste in some code highly broken (specs from design note with some sparse signatures etc...)
  • challenge reconciler with large files, and check outliner consistency
  • find performance bottleneck when editing large files
Java Builder (Kent, Jérôme)
  • write new test scenarii
  • usage of inclusion patterns, and combination with exclusion patterns
  • usage of multiple output folders, nested source folders
Classpath (Jérôme, Philippe)
  • check that forbidden scenarii are detected ok (classpath validation, cycle, corrupted .classpath file)
  • check classpath problem marker update
  • check classpath initialization issues on startup: if slow startup (slow down using antivirus scan)
    • if switching to Java perspective asap
    • with PDE container usage, if target platform is changing on restart
    • if JRE is changing on restart
    • combinations of above scenarii
DOM AST (Olivier, Frédéric)
  • challenge it trying various refactoring actions on corner cases and source with errors
  • check inferred quickfixes for compilation problems
  • check DOM AST consistency using ASTView
  • check Javadoc support especially with search, refactoring and ASTView
Ant Java Adapter (Olivier)
  • check default settings in various mode (1.3, 1.4)
  • check warning settings
Search (Jérôme, Kent)
  • check memory/performance scaling when lots of potential matches (e.g. references to #add())
  • check inaccurate matches (too many/not enough)
  • check if missing matches in hierarchy search, scoped search, in particular check new search scope ignoring libraries
  • check indexer crash recovery
Type Hierarchies (Kent, David)
  • missing types
  • fault-tolerance to abort compilation errors
  • performance
Java Model (Jérôme, Philippe)
  • check delta batching
  • combinations of new features: exclusion/inclusion patterns, multiple output folders: check package view rendering, delta issued
    • check shared source folders and linking prereq output folder as lib folder
  • check automatic external JAR refresh
  • check primary working support, correct deltas ?
  • check consistent model if close/reopen project across sessions.
  • classpath containers
    • check switching JRE (with performance in JavaModel update)
    • check deltas when switching JREs using containers
    • check deltas when restarting old workspace (should not be delta if same JRE)
  • monitor JavaModel cache filling ratio, identify culpright clients populating where alternatives exist
  • validate 1.5 supported APIs (i.e. backed with implementation): for instance, investigate porting some of the JavaModel to render parameterized type names using new Signature support.
Compiler (Frédéric, Philippe)
  • assess jacks compiler test suite recent results
  • investigate some of the remaining 1.5 failures exposing non 1.5 specific test compiler bugs
  • check performance of syntax error diagnosis on massively broken files (e.g. rt.jar renamed into rt.java)
  • self-host to improve Cheetah