Manual tests for Eclipse plugin
Guidelines for documenting the manual tests:
- Summarize the elements covered in the test
- Enumerate the steps (ordered list)
- Call out test points with a TEST bullet
- Include screenshots as appropriate; many of the manual tests will be visual, so screenshots are helpful
In-Progress tests for the new plug-in
Update URI
Use the Eclipse update site on the build server. The URI is determined by the build.
For example, for an M2 build of silverstone, the update site URI is:
http://aeneis.raleigh.ibm.com/zero/silverstone/M2/update/zero.eclipse/
Eclipse-Java/Groovy
Use Update Manager to get Project Zero plug-ins
Tests confirm:
Steps:
- Install fresh eclipse SDK from http://www.eclipse.org/downloads
- Click Help>Software Updates>Find and Install..., create a new remote site pointing to the Update URI
- Select all features
- Accept license and install all, restart after complete.
- TEST: Verify that there are no errors or exceptions in the {workspace}/.metadata/.log from the PZ eclipse update. You may see an error dialog indicating that the CLI is not configured. This is normal and should not be reported as a bug.
Configure CLI
Tests confirm:
Steps:
- Open Window > Preferences > WebSphere sMash. You may see an error dialog indicating that the CLI is not configured. This is normal and should not be reported as a bug.
- In the "Zero home" field, enter a directory that does not contain a CLI.
- TEST: You should see an error message at the top of the preferences page. The module group combo should be disabled.
- Now enter the location of a valid CLI in the "Zero home" field. After, the "Loading..." message disappears from the combo, select a module group.
- TEST: You should see at least one module group in the list.
- Press OK.
Create a new application and run it
Tests confirm:
- Eclipse New Wizard
- zero.application.template
- Eclipse Launch configuration
Steps:
- File>New>Project Zero Application
- Right-click new project select Run As>Project Zero Application
- Browse to http://localhost:8080
- TEST: Verify that a Project Zero Welcome index is displayed
- Now click Run As>Project Zero Application again without stopping the previous launch
- TEST: Console message should indicate a port conflict because the port is taken by the other launch
Export/Import Project Zero application
Tests confirm:
- Export in shared mode including source and then reimport as project
Steps:
- Create new Project Zero Application
- Right-click a Zero project and select Export...>Project Zero>Project Zero Export Wizard
- TEST: Verify that you get an export dialog like the one shown below:

- Change export directory to a directory that is outside the workspace (not under the project directory), check 'Include Source' as shown below, and click OK

- TEST: Look in configured export directory to verify that there is a file called projectname-version.zip
- Delete Project Zero application that you created from the workspace.
- Click File>Import>General/Existing Projects in Workspace>Select Archive File. Browse for the zip you exported and click OK
- TEST: Verify that package imports into workspace without any errors (check {workspace}/.metadata/.log)
- TEST: Run the project as a Project Zero Application and browse to http://localhost:8080.
Standalone Export of Zero Application
Tests Confirm:
- Export in standalone mode and then unzip package and run from command-line
Steps:
- Create new Project Zero Application
- Right-click a Zero project and select Export...>Project Zero>Project Zero Export Wizard
- TEST: Verify that you get an export dialog like the one shown below:

- Leave the default export directory, check 'Standalone' as shown below, and click OK.

- TEST: Refresh the project directory, verify that projectname-version-all.zip is created in the export directory
- Install the CLI as described in the CLI getting started
- Unzip package into a new temp directory
- Invoke 'zero resolve'
- Invoke 'zero start'
- TEST: Verify that console message indicates that application is successfully started on port 8080
- TEST: Verify that http://localhost:8080 successfully loads in a browser.
- Invoke 'zero stop'
Repository Management
Test confirm:
- Search for new libraries in remote repository
- Add new library from remote repository
- Delete library from local repository
Steps:
- Click orange repository icon in toolbar to open Repository Management dialog.
- Type zero in the Organization field and *.demo in the Module field.
- Press the Search button.
- TEST: You should see several entries in the right-hand list, all of which have names that end with .demo.
- Select several of the entries from the right-hand list. Verify that none of the entries already exist in the left-hand list.
- Press the Download button.
- TEST: After the download operation finishes, you should see new entries in the left-hand list.
- Select a few of the .demo entries from the left-hand list. Then press the Remove button.
- TEST: After the remove operation finishes, the entries you selected should no longer appear in the left-hand list.
Groovy Debug/Global Context Debug view
Tests Confirm:
- Java debugger breaks on breakpoint set in Groovy source
- GlobalContext Debug view shows GC contents
Steps:
- Create New Zero Application
- Right click /public source folder and select New>Other...>General>File and type test.groovy for the name
- Answer yes to add Groovy support to project
- Copy the following code into test.groovy e.g.:
println("foo") event.test = 'new string' event.test = 'updated string'
- Save the file
- Add a break point to the second line of the test.groovy file
- Right-click Project Debug As>Project Zero Application
- TEST: Verify console message indicates that application started on port 8080
- Browse to http://localhost:8080/test.groovy
- TEST: Verify that breakpoint hit and debugger is suspended at second line of Groovy code
- TEST: Verify that Global Context debug view is showing in top-right corner as shown below:

- TEST: Step to the next line and verify that there is a new node in the GlobalContext debug view called event/test set to "new string"
- TEST: Step again and verify that the event/test node has changed to "updated string"
Code Completion
- Create New Zero Application
- Right click /public source folder and select New>Other...>General>File and type test.groovy for the name (this should open the new file in the Groovy Editor)
- Answer yes to add Groovy support to project
- Type "request."
- TEST: You should get proposals like the following:

- On a new line type "re<ctrl-space>".
- TEST: You should get proposals for request like the ones shown above.
- On a new line type "request.coo<ctrl-space>".
- TEST: You should get proposals for request.cookies similar to the ones shown above.
- On a new line type "z".
- TEST: You should get proposals like the following:

Eclipse-PHP
Use Update Manager to get Project Zero PHP plug-ins
Tests confirm:
Steps:
- Delete your existing local repository ${userhome}/zero-repository.
- Install fresh PDT All-in-one SDK from http://download.eclipse.org/tools/pdt/downloads/index.php
- Click Help>Software Updates>Find and Install..., create a new remote site pointing to http://www.projectzero.org/update/zero.eclipse.php.latest or zero.eclipse.php.stable if testing a stable build
- Select all plug-ins including Project Zero and Project Zero Examples
- Accept license and install all, restart after complete.
- TEST: Verify that there are no errors or exceptions in the /.metadata/.log from the PZ eclipse update
Create a new PHP application and run it
Tests confirm:
- Eclipse New PHP Wizard
- Eclipse Launch configuration
Steps:
- File>New>Project Zero PHP Application
- Right-click new project select Run As>Project Zero Application
- Browse to http://localhost:8080
- TEST: Verify that a Project Zero Welcome index is displayed
Debug a PHP application
Tests confirm:
- PDT modifications to Eclipse launch configuration and project resolve mechanism
Steps:
- This test uses the application created in the previous test.
- Edit the ivy.xml file and add the zero.data.php dependency. Resolve the dependency.
- TEST: Open the PHP perspective and verify that the Include Path contains the file JSONResultHandler.php from the zero.data.php location in the repository. (Skip this test bug 1927)
- Create new script under public named
test.php. The contents should look like the file below.
- Open the file and set a breakpoint on the include line.
- Right click on the project and select: Debug As > Project Zero Application.
- Browse to http://localhost:8080/test.php
- TEST: You should see the debugger stop on the include line of
test.php.
- Now step into JSONResultHandler.php then step out.
- Step over the echo line and play.
test.php
<?php
include "JSONResultHandler.php";
echo "Hello";
?>
PHP Code Assist
Tests confirm:
- PDT project resolve mechanism
- PDT code assist support
Steps:
- This test uses the application created previously.
- TEST: Open the PHP perspective and verify that the Include Path contains entries from the zero.php code-assist directory. There should be at least GlobalContextURIs.php and ZeroExtension.php.
- Create a new PHP file and type the following: "GlobalContextURIs_<ctrl-space>".
- TEST: You should see a list containing classes named after the GlobalContext app zones.
- In the same file, on a new line, type "z<ctrl-space>".
- TEST: You should see a list containing GlobalContext apis like zget, zput, etc.
Deprecated tests for the old plug-in
TODO: These tests should be removed when the new plug-in is promoted to the default update site.
Update URI
Use the Eclipse update site on the build server. The URI is determined by the build.
For example, for an M2 build of silverstone, the update site URI is:
http://aeneis.raleigh.ibm.com/zero/silverstone/M2/update/zero.eclipse/
Upgrade prompts user for repository update
Test confirm:
- User is prompted to change the repository when upgrading the plugin
Steps:
- Start with an instance of Eclipse with a previous version of the sMash plugin installed. (For example, if testing M5, then start with the M4 plugin.)
- Change the update site for the plugin to the one under test.
- Click Help > Software Updates > Find and Install..., edit the existing sMash plugin entry by changing the URL to the Update URI
- Select all plug-ins, install all, and allow Eclipse to restart.
- TEST: Confirm that a prompt appears during restart, similar to the following:
- Allow the plugin to update the repository pointer.
- TEST: Confirm that the repository URL was updated by checking Windows > Preferences... > Project Zero
Eclipse-Java/Groovy
Use Update Manager to get Project Zero plug-ins
Tests confirm:
- Eclipse Update site
- Eclipse Install handler
- Repository seeding
Steps:
- Delete your existing local repository ${userhome}/zero-repository.
- Install fresh eclipse SDK from http://www.eclipse.org/downloads
- Click Help>Software Updates>Find and Install..., create a new remote site pointing to the Update URI
- Select all features
- Accept license and install all, restart after complete.
- TEST: Verify that there are no errors or exceptions in the {workspace}/.metadata/.log from the PZ eclipse update
- TEST: Verify that the Zero repository URL matches the level of the plugin. For example, if the plugin was obtained from http://aeneis.raleigh.ibm.com/zero/silverstone/M2/update/zero.eclipse/, then you should find https://www.projectzero.org/zero/silverstone/M2/repo in the Eclipse dialog at Window > Preferences > WebSphere sMash as part of the remote chain.
Create a new application and run it
Tests confirm:
- Eclipse New Wizard
- zero.application.template
- Eclipse Launch configuration
Steps:
- File>New>Project Zero Application
- Right-click new project select Run As>Project Zero Application
- Browse to http://localhost:8080
- TEST: Verify that a Project Zero Welcome index is displayed
- Now click Run As>Project Zero Application again without stopping the previous launch
- TEST: Console message should indicate a port conflict because the port is taken by the other launch
Export/Import Project Zero application
Tests confirm:
- Export in shared mode including source and then reimport as project
Steps:
- Create new Project Zero Application
- Right-click a Zero project and select Export...>Project Zero>Project Zero Export Wizard
- TEST: Verify that you get an export dialog like the one shown below:

- Change export directory to a directory that is outside the workspace (not under the project directory), check 'Include Source' as shown below, and click OK

- TEST: Look in configured export directory to verify that there is a file called projectname-version.zip
- Delete Project Zero application that you created from the workspace.
- Click File>Import>General/Existing Projects in Workspace>Select Archive File. Browse for the zip you exported and click OK
- TEST: Verify that package imports into workspace without any errors (check {workspace}/.metadata/.log)
- TEST: Run the project as a Project Zero Application and browse to http://localhost:8080.
Standalone Export of Zero Application
Tests Confirm:
- Export in standalone mode and then unzip package and run from command-line
Steps:
- Create new Project Zero Application
- Right-click a Zero project and select Export...>Project Zero>Project Zero Export Wizard
- TEST: Verify that you get an export dialog like the one shown below:

- Leave the default export directory, check 'Standalone' as shown below, and click OK.

- TEST: Refresh the project directory, verify that projectname-version-all.zip is created in the export directory
- Install the CLI as described in the CLI getting started
- Unzip package into a new temp directory
- Invoke 'zero resolve'
- Invoke 'zero run'
- TEST: Verify that console message indicates that application is successfully started on port 8080
- TEST: Verify that http://localhost:8080 successfully loads in a browser.
- Type Ctrl-C to stop application
Repository Management/Resolver
Test confirm:
- Search for new libraries in remote repository
- Add new library from remote repository
- Delete library from local repository
- Configure Repository button links to Preferences correctly
Steps:
- Create new Project Zero Application
- Click orange repository icon in toolbar to open Repository Management dialog
- TEST: Click Configure... button to verify that Zero Repositories Preferences opens, then click Cancel to close it
- Delete the all versions of the zero.core library from your local repository, by selecting them and clicking Remove
- Then click Close on the Dialog
- TEST: You should get a pop-up like the following:

- Click Cancel so that you don't resolve the library.
- TEST: Verify that your Project Zero Application is marked with an error, and that the config/ivy.xml is marked with an error
- Open ivy.xml and switch to the Source tab.
- TEST: Verify that there is an error marker next to the zero.core dependency
- Switch back to the Zero Package Information tab, and click Add..., then click Manage Repository
- Type zero.core in Module field and click Search button to narrow the list to zero.core only
- Select zero.core and click Download button
- TEST: Verify that the zero.core library with correct version is added to the local repository list
- Click Cancel on the Dependency dialog and click close on the ivy.xml file
- TEST: Verify that the project errors are fixed.
- Click Window>Preferences>Project Zero
- TEST: Verify that preference page displays without errors as shown below:

Groovy Debug/Global Context Debug view
Tests Confirm:
- Java debugger breaks on breakpoint set in Groovy source
- GlobalContext Debug view shows GC contents
Steps:
- Create New Zero Application
- Right click /public source folder and select New>Other...>General>File and type test.groovy for the name
- Answer yes to add Groovy support to project
- Copy the following code into test.groovy e.g.:
println("foo") event.test = 'new string' event.test = 'updated string'
- Save the file
- Add a break point to the second line of the test.groovy file
- Right-click Project Debug As>Project Zero Application
- TEST: Verify console message indicates that application started on port 8080
- Browse to http://localhost:8080/test.groovy
- TEST: Verify that breakpoint hit and debugger is suspended at second line of Groovy code
- TEST: Verify that Global Context debug view is showing in top-right corner as shown below:

- TEST: Step to the next line and verify that there is a new node in the GlobalContext debug view called event/test set to "new string"
- TEST: Step again and verify that the event/test node has changed to "updated string"
Code Completion
- Create New Zero Application
- Right click /public source folder and select New>Other...>General>File and type test.groovy for the name (this should open the new file in the Groovy Editor)
- Answer yes to add Groovy support to project
- Type "request."
- TEST: You should get proposals like the following:

- On a new line type "re<ctrl-space>".
- TEST: You should get proposals for request like the ones shown above.
- On a new line type "request.coo<ctrl-space>".
- TEST: You should get proposals for request.cookies similar to the ones shown above.
- On a new line type "z".
- TEST: You should get proposals like the following:

Eclipse / New CLI interplay
CLI creates repository, Eclipse uses it
- Download and install CLI to
- TEST: Create a new Zero application, run it, and make sure it works. This will also create a repository that we will use for the next steps.
- Open Eclipse and point the repository to /zero-repository/experimental (or another module group).
- Create a new Zero application.
- TEST: Run it and browse http://localhost:8080/
Eclipse creates repository, CLI uses it
- From a new Eclipse install, make sure the repository points to something like: {user.home}/zero-repository/experimental
- TEST: Create a new Zero application, run it, and make sure it works.
- TEST: After it completes, check to make sure there are two directories in the repository: modules and expanded.
- Download and instsll CLI to
- In /config/local.properties, update the following property: repo.root=${user.home}/zero-repository
- Create a new application: zero create MyApp
- TEST: Open the file /MyApp/.zero/private/resolved.properties and make sure the dependency paths point to ${user.home}/zero-repository subdirectories.
- TEST: Run the application with the CLI and make sure it works.
Eclipse-PHP
Use Update Manager to get Project Zero PHP plug-ins
Tests confirm:
- Eclipse Update site
- Eclipse Install handler
- Repository seeding
Steps:
- Delete your existing local repository ${userhome}/zero-repository.
- Install fresh PDT All-in-one SDK from http://download.eclipse.org/tools/pdt/downloads/index.php
- Click Help>Software Updates>Find and Install..., create a new remote site pointing to http://www.projectzero.org/update/zero.eclipse.php.latest or zero.eclipse.php.stable if testing a stable build
- Select all plug-ins including Project Zero and Project Zero Examples
- Accept license and install all, restart after complete.
- TEST: Verify that there are no errors or exceptions in the /.metadata/.log from the PZ eclipse update
Create a new PHP application and run it
Tests confirm:
- Eclipse New PHP Wizard
- zero.php.application.template
- Eclipse Launch configuration
Steps:
- File>New>Project Zero PHP Application
- Right-click new project select Run As>Project Zero Application
- Browse to http://localhost:8080
- TEST: Verify that a Project Zero Welcome index is displayed
Debug a PHP application
Tests confirm:
- PDT modifications to Eclipse launch configuration and project resolve mechanism
Steps:
- This test uses the application created in the previous test.
- Edit the ivy.xml file and add the zero.data.php dependency. Resolve the dependency.
- TEST: Open the PHP perspective and verify that the Include Path contains the file JSONResultHandler.php from the zero.data.php location in the repository. (Skip this test bug 1927)
- Create new script under public named
test.php. The contents should look like the file below.
- Open the file and set a breakpoint on the include line.
- Right click on the project and select: Debug As > Project Zero Application.
- Browse to http://localhost:8080/test.php
- TEST: You should see the debugger stop on the include line of
test.php.
- Now step into JSONResultHandler.php then step out.
- Step over the echo line and play.
test.php
<?php
include "JSONResultHandler.php";
echo "Hello";
?>
PHP Code Assist
Tests confirm:
- PDT project resolve mechanism
- PDT code assist support
Steps:
- This test uses the application created previously.
- TEST: Open the PHP perspective and verify that the Include Path contains entries from the zero.php code-assist directory. There should be at least GlobalContextURIs.php and ZeroExtension.php.
- Create a new PHP file and type the following: "GlobalContextURIs_<ctrl-space>".
- TEST: You should see a list containing classes named after the GlobalContext app zones.
- In the same file, on a new line, type "z<ctrl-space>".
- TEST: You should see a list containing GlobalContext apis like zget, zput, etc.
(DO NOT EXECUTE) Manual tests for reworked plugin
These tests are a work in progress. They will only be valid after we migrate off of the current Eclipse plugin.
- Clean workspace tests (start with no sMash plugins, no sMash projects)
- Verify plugin installation
- Verify no error messages in Error Log after restart.
- Verify error messages indicating CLI is not initialized by doing the following:
- Create new sMash application
- Export wizard
- Repository manager
- Update module group action
- Preferences page
- Verify that an invalid CLI directory causes an error message
- Verify custom CLI can be configured
- Verify default CLI can be configured - which state do we leave them in, custom or default?
- Create new sMash application
- Launch application
- Export application
- Repository manager
- Update module group action
- Dirty workspace tests (restart Eclipse with workspace that was created during 'Clean workspace tests')
- Verify that preferences were restored correctly
- Resolve project
- Against normal workspace project
- Against project that is not at the workspace root
- Update project
- Error handling
- Create project wizard should indicate invalid project name
- Multiple project resolve failure should show error message for each project
- Export
- non-sMash application
- workspace
- Delete the CLI outside of Eclipse but leave preferences alone, resulting in an invalid CLI
|
| | Attachment | Action | Size | Date | Who | Comment |
| MissingDeps.JPG | props, move | 16.7 K | 12 Sep 2007 - 18:25 | ajtarter | Missing Dependencies Dialog |
| expected_prompt.JPG | props, move | 18.0 K | 20 Mar 2008 - 17:23 | steveims | |
| groovyDebug.JPG | props, move | 117.7 K | 24 Oct 2007 - 22:22 | ajtarter | Groovy Debug Perspective |
| groovyDebugM2.JPG | props, move | 163.6 K | 24 Oct 2007 - 22:24 | ajtarter | |
| includeSrc.JPG | props, move | 14.6 K | 17 Sep 2007 - 19:07 | ajtarter | |
| request_completion.JPG | props, move | 31.1 K | 10 Dec 2007 - 15:43 | ajtarter | |
| standalone.JPG | props, move | 13.3 K | 17 Sep 2007 - 19:09 | ajtarter | |
| zeroExportWizard.JPG | props, move | 23.6 K | 12 Sep 2007 - 19:00 | ajtarter | Project Zero Export Wizard |
| zeroPrefs.JPG | props, move | 48.4 K | 24 Oct 2007 - 22:28 | ajtarter | Zero Eclipse Preferences |
| zmethod_completion.JPG | props, move | 19.5 K | 10 Dec 2007 - 15:42 | ajtarter | |
r13 - 03 Nov 2008 - 15:21:32 - csurface
|
|
|