API Tools Project 3.5M2 Test Plan

Testers

Committers: Darin Wright, Michael Rennie, Olivier Thomann

Community: Anyone who wants to help

Test Grid

Feature Darin Wright Michael Rennie Olivier Thomann
API Setup
 
 
API Profiles
 
 
Building
 
 
Unsupported Javadoc Tags
 
 
Quick Fixes
 
 
Filters
 
 
Preferences
 
 
Run The Test Suite

Feature Testing

API Tools Setup

  1. General
    • setup wizard should have a help topic
  2. Setup API Tooling
    • wizard with no selections in workspace and with selections; if the there are selected projects in the workspace that can have API tooling setup on them, they should be preselected in the wizard
    • try canceling the wizard
    • try selecting / un-selecting all to make sure the finish and preview button work as expected
    • try selecting a project and viewing a preview
    • try selecting projects that do and do not have a component.xml file
    • ensure tags are added correctly to files (from the component.xml)
    • try finishing the wizard without viewing a preview (from the first page)
  3. New Plug-in Project Wizard
    • try creating a new plug-in project with the option checked to automatically enable API analysis (on the second page of the wizard)

Back to top


API Profiles

To ensure that missing API profiles are reported in the workspace, you must have at least one API analysis enabled project in your testing workspace.

  1. General
    • changing / editing / removing of the default profile should ask you to build when the Ok (or Apply) button is pressed on the preference page
    • the page and wizard should have help topics
  2. Create a new API profile
    • try completing the wizard and canceling it
    • try renaming a profile (accepting and canceling the process)
    • try changing the location of the new profile and resetting the profile
  3. Edit an API profile
    • try completing the wizard and canceling it
    • try renaming a profile (accepting and canceling the process)
    • try resetting a profile
  4. Deleting an API profile
    • try deleting a profile
    • try deleting select profiles
    • try deleting all profiles
  5. Default Profile
    • try selecting a new default profile
    • try editing the default profile (rename, should still be the default after rename)
    • try deleting the default profile
  6. Change the warning level for missing default profiles

Back to top


Building

Builder testing requires that you make a test workspace and that you have one or more projects that have API analysis enabled. Additionally, to test that compatibility problems are reported properly, you will require an API baseline with a version of the project you are testing in it.

  1. Full Build
    • Run a full build on one project
      • markers should be updated
      • filters should be respected
      • progress messages should be correct
      • time to build should be reasonable
    • Run a full build on the workspace
      • builder should only run on 'API aware' projects
      • markers should be updated
      • filters should be respected
      • progress messages should be correct
      • time to build should be reasonable
  2. Incremental Building
    • Change a dependent type
      • builder should run for dependent's
      • markers should be updated for dependent's
      • filters should be respected on type and dependent's
      • time to build should be reasonable

Back to top


Unsupported Javadoc Tags

Enable the check for unsupported Javadoc tag checking. All of the given tests should produce API problems, and all content assist-available tags should not

  1. add noimplement, no reference and nooverride tags to class (inner, outer, static, static inner, etc)
  2. add noinstantiate, noextend, noreference and nooverride tags to an interface (annotation)
  3. add noimplement, noextend and noinstantiate tags to a method
  4. add noimplement, noextend, noreference and noinstantiate tags to a constructor
  5. add noimplement, noextend, nooverride and noinstantiate tags to a field
  6. add noimplement, noextend, noreference, nooverride and noinstantiate tags to a final field

Back to top


Quick Fixes

All quick fixes should not put a project in a state of error, and should work with an existing modified editor (i.e. even if there are unsaved edits in the editor the quick-fix is being activated on)

  1. Usage problems
  2. Compatibility problems
  3. Version problems
  4. Since Tag problems
  5. API Leak problems

Back to top


Filters

  1. General
    • Property page should have a help topic
    • Remove button should enable / disable properly
  2. Add Filters
    • Use the quick fix
    • Drag & Drop in an existing filter file
    • Check out a filter file from CVS
    • First added filter should cause filter file to be created immediately
    • Other added filters should be written to filter file immediately
  3. Remove Filters
    • Use the property page
      • Try removing one or more filters by individually selecting filters or their parent file.
      • Ensure removed filters are removed (apply change or click Ok to close the property page, and reopen)
      • Canceling deleting filters should make no change
      • Removing filters should rebuild the project (incremental)
      • Removing last filter should remove the filter file immediately
    • Drag & Drop a filter file out of the project
    • Over-ride and update from CVS
  4. Share Filters
    • Commit filter to CVS and check it out in another workspace
    • Should update filtered problems on next rebuild (unless the filter store for the project in question is already loaded)

Back to top


Preferences

  1. General
    • The API Errors/Warnings page should have a help topic
  2. Workspace
    • Change any number of preferences and apply the page (via the Apply button or the Ok button)
    • Change any number of preferences and hit 'Restore Default'
    • Change any number of preferences and cancel the page
    • Change all preferences using the 'Set all to' buttons (and apply / cancel / restore defaults)
    • Use the link to configure project specific settings
  3. Per-Project
    • Try turning project specific settings on / off
    • Change any number of preferences and apply the page (via the Apply button or the Ok button)
    • Change any number of preferences and hit 'Restore Default'
    • Change any number of preferences and cancel the page
    • Change all preferences using the 'Set all to' buttons (and apply / cancel / restore defaults)
    • Use the link to configure workspace settings

Back to top


Run The Test Suite

  1. Run ApiToolsTestSuite
    • on Windows XP
    • on Windows Vista
    • on Linux
    • on Mac OS
  2. Run ApiToolsPluginTestSuite
    • on Windows XP
    • on Windows Vista
    • on Linux
    • on Mac OS

Back to top