cornercorner
FeaturesPluginsDocs & SupportCommunityPartners

Common Features Test Specification for Generic VCS Module Test Specification

Author: Peter Pis
Version: 1
Last update: 23.08.2004
Introduction: Since Generic VCS module was designed to be as generic as possible and therefore open for a lot of customization, it is necessary to test its core features. This is exactly what is described in the following sections and should be tested very carefully. Legend: -this icon represents a test case that is part of validation suite and is used during Q-build testing. - this icon represents a test case that was automated and is run daily in test runtime.
Comment:

Table of Contents

Test suite 1: Mounting wizard

Purpose: This suite tests functionality of mounting wizard which means to verify that it is possible to mount command-line filesystem according to given specifications except profiles management and commands/variables editors.
Setup: No preparation required.

#Test caseDescription
1Profile selector
1. Invoke Versioning | Versioning Manager from main menu and push "New..." button.
2. From the upper left list choose CVS profile. The wizard must be reconfigured without any question.
3. Select another profile from the list. You must be asked to confirm the change. Answer "Yes" and make sure the dialog was rebuilt.
4. Select another one but answer "No" this time. Nothing must change.
RESULT: Profile selector must always reconfigure the dialog. Except the first change user must be asked to confirm the operation.
2Buttons working
1. Click each "Browse..." and "Select..." buttons and try to choose some file or directory with it.
RESULT: All buttons must allow user to fill in the textfield next to them.
3Additional profiles link
1. Click the "http://vcsgeneric.netbeans.org/profiles/index.html" hypertext link.
RESULT: External browser must get opened with the mentioned profiles page.
4New versioned directory
1. Setup "Working Directory" to the one from previous test suite.
2. Leave "Perform Checkout" checkbox unchecked.
3. Push "Finish" button and verify that "CVS D:\Tests\Empty\Work1" versioned directory appeared in "Versioning Manager" and "Versioning window"(Ctrl+8). Push "Close" button.
4. Invoke Versioning | Versioning Manager from main menu and push "Edit..." button in "Versioning Manager".
5. Verify that all settings in all tabs are set as before versioned directory was mounted.
RESULT: New CVS versioned directory must be mounted into "Versioning Manager" and "Versioning" window and all settings must be applied.
5Settings active
1. Right click the filesystem and choose CVS | Locking | Lock... item.
2. You must be prompted with "Lock -" dialog. Push "Cancel" button.
3. Turn off "Advanced Options" and "Print Command Output" properties of the filesystem.
4. Invoke CVS | Locking | Lock on the filesystem and repeat step 2. No messages must be printed now.
RESULT: Both advanced and debugging modes must be taken into account and available to turn off through filesystem properties.
Teardown:



Test suite 2: Variables

Purpose: This suite tests possibility to create, customize, and delete profile variables.
Setup: No preparation required.

#Test caseDescription
1Variables
1. Invoke Tools | Options from main menu.
2. Select "Source Creation and Management | Versioned Control Settings | Version Control Settings | CVS". In "Property" tab click "..." button next to "Variables".
3. "CVS - Variables" editor shows up.
RESULT: "CVS - Variables" editor must show up. Left pane must contain variable tree with two nodes "Basic" and "Accessory" and right pane is property sheet.
2Accessory variable
1. Expand "Accessory" node and Delete variables "CONFIG_INPUT_DESCRIPTOR", WIZARD_INPUT_DESCRIPTOR and WIZARD_INPUT_DESCRIPTOR1.
2. Right click "Accessory" node and choose Add Variable action.
3. Setup "Name" as its name and push "OK" button.
4. Select "NAME" variable and set its "Value" property to "Jirka".
RESULT: "Basic" node must not be disabled any more and "Accessory" node must contain "NAME" variable underneath.
3Basic variable
1. Expand "Basic" node and Delete variable "Repository Path".
2. Right click "Basic" node and choose Add Variable action.
3. Setup "MyFile" as its name and push "OK" button.
RESULT: "Basic" node must contain "MyFile" variable underneath.
4Customize basic variable
1. Select "MyFile" variable, set its "Value" property to "File.txt" and turn on "Variable Is a Local File" property.
2. Push "OK" button to close the editor.
3. Invoke "Versioning | Versioning Manager" and select some versioned directory with "CVS" profile. Select "Profile" tab.
4. There must be "MyFile" textfield set to "File.txt" and "Browse..." button allowing to choose a file.
5. Switch to "Advanced" tab and press "Edit Variables...".
6. Press Move Up on MyFile node.
7. "MyFile" node position must move one position higher and turn on "Variable Is a Local Folder".
RESULT: "MyFile" variable must be displayed on "Profile" tab of customizer in proper position with preset value and appropriate file/folder chooser.
Teardown:



Test suite 3: Context commands

Purpose: This suite tests possibility to create, customize, and delete profile commands. It also checks functionality of the most important command properties.
Setup: No preparation required.

#Test caseDescription
1Command editor
1. Invoke Tools | Options from main menu.
2. Select "Source Creation and Management | Versioned Control Settings | Version Control Settings | CVS". In "Property" tab click "..." button next to "Global Commands".
3. "CVS - Global Commands" editor shows up.
RESULT: "CVS - Global Commands" editor must show up. Left pane must contain command tree and right pane is a property sheet.
2Popup separator
1. Right click root node and choose Add | Separator.
RESULT: "(separator)" node must appear as the last leaf of popup tree.
3Popup submenu
1. Right click root node and choose Add | Folder.
2. Type "My Submenu" as "Folder Label" and push "OK" button.
RESULT: "My Submenu" folder node must appear as the last leaf of popup tree.
4Popup action
1. Right click "My Submenu" node and choose Add | Command.
2. Type "Test" as "Command Label" and push "OK" button.
3. Expand "My Submenu" node.
RESULT: There must be "Test" node under "My Submenu" node.
5Customize menu
1. Right click "(separator)" node and choose Move Down.
2. Verify that order of separator and "My Submenu" has changed and Move Down action is not enabled anymore.
3. Cut "(separator)" node and Paste it on "My Submenu" node.
4. Right click "VERIFY_ACTION" node and choose Delete action.
RESULT: Separator had to be temporarily below new submenu before its move under "My Submenu". There must be no "VERIFY_ACTION" node anymore.
6Setup command
1. Select "My Submenu | Test" node in the tree.
2. Set "Exec" property to cmd /x /c "echo Ahoj ${NAME}! && notepad ${MYFILE}" for Windows NT/2000 or sh -c "echo Ahoj ${NAME}!; xedit ${MYFILE}" for all the other operating systems.
3. Turn on "Display Output" property and push "OK" button.
RESULT: "My Submenu | Test" command must have both properties set as needed.
7Invoke command
1. Invoke "Versioning | Versioning Manager" and select some versioned directory with "CVS" profile. Select "Profile" tab.
2. Switch to "Profile" tab of the customizer.
3. Use "Browse..." button to choose some text file like C:\autoexec.bat or similar on Unix systems.
4. Push "Close" button on the customizer.
5. Right click the filesystem and choose My Submenu | Test action.
6. Make sure that status bar displays "Command Test is running ..." and "VCS Output - Test" window contains "Stop" button.
7. Make sure that Notepad or Xedit was opened with the selected file and there is "Ahoj Jirka!" message in the "Standard Output" tab of mentioned window.
8. Close the external editor and verify that status bar contains "Command Test finished." message.
RESULT: Button in output window must disappear and the status must be "Command finished".
8Confirmation messages
1. Invoke "CVS - Global Command" editor and use test case "5.6 Setup command" for next three steps.
2. Setup "Confirmation Message Before Execution" property to "Really ?" text.
3. Setup "Notification Message After Fail" property to "Bad luck ! :-(" text.
4. Close the editor using "OK" button and "Close" the customizer too.
5. Invoke My Submenu | Test command on the root.
6. Answer "Yes" to "Really ?" question dialog.
7. Push "Stop" button on the output window.
RESULT: Information window saying "Bad luck ! :-(" must appear. Close it.
9Visibility restrictions
1. Turn off "Visible on Folders" property of the same command.
2. Right click "PVCS D:\Tests\Empty\Work1 | test [Local]" node.
RESULT: There must be no Test item in My Submenu menu.
10Enable restrictions
1. Setup "Disabled on Statuses" expert property to "Local" value.
2. Right click the root node of your versioned directory.
3. Verify that My Submenu | Test action is visible and enabled.
4. Right click "PVCS D:\Tests\Empty\Work1 | A_File [Local]" node.
RESULT: My Submenu | Test command must be visible but disabled.
11Input descriptor
1. Setup "Input Descriptor" property to LABEL("Hello!") PROMPT_FOR(NAME, "What's your name?") value.
2. Invoke My Submenu | Test action on the root node of your versioned directory.
3. "Hello! -" dialog must show up with "What's your name?" textfield.
4. Type there "Maruska" and push "OK" button.
RESULT: There must be these two lines in "Standard Output" tab: "Hello Maruska!" and "Cau Martine!".
12Multifile recognition
1. Setup "Disabled on Statuses" property to default value.
2. Turn on "Run on Multiple Files" property.
3. Turn on "Process All Files" expert property.
4. Invoke Compile on "A_File [Local]" node.
5. Invoke My Submenu | Test command on multiselection of "A_File [Local]" and "C_File [Local]" nodes.
6. Check "Prompt for Input on Each Successive File" checkbox and push "OK" button three times.
RESULT: There must be three "Test" tabs with "Ahoj !" and "Cau Martine!" lines in "Standard Output" tabs of the output window.
13Failure notification
1. Turn on "Do Not Warn of Failure" expert property.
2. Setup "Exec" property to cmd /x /c "ICQ #103430977" on Windows NT/2000 or sh -c "icq #103430977" on other systems.
3. Turn off "Display Output" property.
4. Invoke My Submenu | Test command on "C_File [Local]" node.
5. Push "OK" button once "Hello! -" dialog appears.
RESULT: Status bar says: "Command Test finished.", no notification message appears, nothing gets printed into standard output window of IDE.
14Status refreshing
1. Setup "Exec" property to cmd /x /c "echo ${FILE}, Aktualni" on Windows NT/2000 or sh -c "echo ${FILE}, Aktualni" on other systems.
2. Setup "Data Regex" expert property to ^(.*), (.*) value.
3. Setup "File Index" refresh property to 0.
4. Setup "Status Index" refresh property to 1.
5. Invoke My Submenu | Test command on "C_File [Local]" node and push "OK" button in "Hello! -" dialog.
RESULT: Status of C_File must change to "C_File [Aktualni]".
15Settings history
1. Invoke My Submenu | Test command on "C_File [Aktualni]" node.
2. Type Jirka into the textfield, push "Set As Default" and then "OK" button.
3. Invoke that action again. Make sure that "Next" button is disabled and the textfield contains Jirka.
4. Type Maruska into the textfield and push "Get Default Values" button. Jirka must replace it.
5. Type Maruska into the textfield and push "Previous" button.
RESULT: Maruska must be replaced by Jirka again and "Next" button must get enabled. Push "Cancel" button.
Teardown:



Test suite 4: Global commands

Purpose:
Setup:

#Test caseDescription
1Command editor (global)
1. Invoke Tools | Options from main menu.
2. Select "Source Creation and Management | Versioned Control Settings | Version Control Settings | CVS". In "Property" tab click "..." button next to "Context Commands".
3. "CVS - Context Commands" editor shows up.
RESULT: "CVS - Context Commands" editor must show up. Left pane must contain command tree and right pane is a property sheet.
2Popup separator (global)
1. Right click root node and choose Add | Separator.Right click root node and choose Add | Separator.Right click root node and choose Add | Separator.
RESULT: "(separator)" node must appear as the last leaf of popup tree.
3Popup submenu (global)
1. Right click root node and choose Add | Folder.
2. Type "My Submenu" as "Folder Label" and push "OK" button.
3. "My Submenu" folder node must appear as the last leaf of popup tree.
RESULT: "My Submenu" folder node must appear as the last leaf of popup tree.
4Popup action (global)
1. Right click "My Submenu" node and choose Add | Command.
2. Type "Test" as "Command Label" and push "OK" button.
3. Expand "My Submenu" node.
RESULT: There must be "Test" node under "My Submenu" node.
5Customize menu (global)
1. Right click "(separator)" node and choose Move Down.
2. Verify that order of separator and "My Submenu" has changed and Move Down action is not enabled anymore.
3. Cut "(separator)" node and Paste it on "My Submenu" node.
4. Right click "VERIFY_ACTION" node and choose Delete action.
RESULT: Separator had to be temporarily below new submenu before its move under "My Submenu". There must be no "VERIFY_ACTION" node anymore.
6Setup command (global)
1. Select "My Submenu | Test" node in the tree.
2. Set "Exec" property to cmd /x /c "echo Ahoj ${NAME}! && notepad ${MYFILE}" for Windows NT/2000 or sh -c "echo Ahoj ${NAME}!; xedit ${MYFILE}" for all the other operating systems.
3. Turn on "Display Output" property and push "OK" button.
RESULT: "My Submenu | Test" command must have both properties set as needed.
7Invoke command (global)
1. Invoke Versioning menu.
2. Make sure this command is visible in "Versioning" menu.
3. Invoke "Profile" tab of the customizer of some CVS versioned directory.
4. Use "Browse..." button to choose some text file like C:\autoexec.bat or similar on Unix systems.
RESULT:
8Global command
1. Do the same as with "Context Commands".
RESULT: Verify that created global command is visible in "Vesioning" menu. All functionality has to be similar with "Context Commands".
Teardown:



Test suite 5: Profiles management

Purpose: This suite tests possibility to create, customize and delete own profile.
Setup: No preparation required.

#Test caseDescription
1Profile creation
1. Invoke Versining | Versioning Manager from main menu.
2. Select created versioned directory and push "Edit..." button.
3. Push "Save As..." button.
4. Setup "myProfile" as "File Name".
5. Setup "My Profile" as "Profile Label" and push "Save" button.
RESULT: "My Profile" must be selected from the list. The checkbox below must be disabled. Close the customizer.
2Profile usage
1. Invoke Versioning | Versioning Manager item from main menu and push "New...".
2. Select "My Profile" profile from the combo box.
RESULT: There must be "MyFile" textfield preset to defined value.
Teardown:



Test suite 6: Common settings

Purpose: This suite tests functionality of general options and filesystem properties.
Setup: No preparation required.

#Test caseDescription
1Auto refresh
1. Invoke Tools | Options from the main menu.
2. Select "Source Creation and Management | Version Control Settings" node.
3. Setup "Auto Refresh" global option to "No Refresh" value.
4. Mount "D:\Tests\Empty\Work1" directory using CVS profile.
5. Once the filesystem is mounted, expand it completely.
RESULT: All nodes underneath stay [Local]. No "Refresh" must be executed and stored in the "VCS Commands" history.
2Home directory
1. Create "Home" command with execution string cmd /x /c "echo %HOMEDRIVE%%HOMEPATH%" for Windows or sh -c "echo $HOME" for Unix systems.
2. Turn on "Display Output" property of that command.
3. Invoke new Home command on your filesystem.
RESULT: Value of "Home Directory" global option must be printed into "Standard Output" tab of opened window.
3Offline mode
1. Turn on "Offline Mode" global option.
2. Setup "Auto Refresh" global option to "Recursive on Mounting" value.
3. Mount "D:\Tests\Empty\Work1" directory using PVCS profile and expand it completely.
4. All nodes must stay [Local]. Invoke PVCS | Refresh action on your filesystem.
RESULT: You must be informed about active offline mode. Push "No" button.
4Override filesystem settings
1. Turn off "Offline Mode" global option.
2. Make sure that the same property of filesystem mounted in previous test case is also switched off.
3. Turn off "Override filesystem settings" global option.
4. Turn on "Offline Mode" global option.
RESULT: "Offline Mode" property of used filesystem remains turned off.
5Annotation pattern
1. Show properties of mounted filesystems.
2. Setup "Annotation Pattern" property to ${fileName)$[?status][ >Status YES<][ >Status NO<] value.
3. Verify that all nodes must be in ">Status YES<" status.
4. Click the "..." button of "Annotation Pattern" filesystem property.
5. Select "If Defined: status | True | Text: >Status YES<" node.
6. Set its "Text" property to "[Up-to-date]" and push "Apply Changes" button.
RESULT: All nodes must become [Up-to-date]. Close the editor.
6Command notification
1. Create "Print" command and set its "Notification Message After Success" property to "Great !".
2. Turn off "Command Notification" property of the filesystem.
3. Invoke your Print command on the filesystem.
RESULT: Status bar must say "Command Print finished." and no "Great !" message must show up.
7Ignored files
1. Show properties of mounted filesystems.
2. Setup "Ignored Files" expert property of the filesystem to "A_File.java|Dialog.*" value.
3. Check result.
4. Setup "Ignored Files" expert property of the filesystem to "" value.
RESULT: Both "A_File" and "Dialog" nodes must disappear.
8Backup properties
1. Open "Web_page [Local]"file, modify it and save it.
2. Turn off "Filter Backup Files" expert property of the filesystem.
3. "Web_page.java~ [Local]" node must appear under "another [Local]" folder.
4. Delete "Web_page.java~ [Local]" node.
5. Turn off "Create Backup Files" expert property of the filesystem.
6. Repeat step 1.
RESULT: No additional file like "Web_page.java~ [Local]" must appear under "another [Local]" folder.
9Remember password
1. Setup "Exec" property of "Print" command to cmd /x /c "echo ${PASSWORD}" for Windows NT/2000 and sh -c "echo ${PASSWORD}" for other systems.
2. Turn on "Remember Password" expert property of the filesystem.
3. Invoke Print action on the filesystem node.
4. Write some password and push "OK" button.
5. Restart IDE and repeat step 3.
RESULT: No dialog requiring the password again must appear.
10Shorten file statuses
1. Setup "POSSIBLE_FILE_STATUSES" accessory variable to "Current", "Missing", "Locally Modified", "Local".
2. Setup "POSSIBLE_FILE_STATUSES_LOCALIZED_SHORT" accessory variable to "Curr", "Miss", "LMod", "Loc".
3. Turn on "Shorten File Statuses" property of the filesystem.
RESULT: All visible nodes must get "[Loc]" status.
11Hide shadow files
1. Setup "Exec" property of "Print" command to cmd /x /c "echo F_File.java" for Windows NT/2000 and sh -c "echo F_File.java" for other systems.
2. Setup "Data Regex" expert property of the same command to ^(.*).
3. Setup "File Index" refresh property of the same command to 0.
4. Invoke Print command on the filesystem.
5. After a while "F_File.java [Miss]" must appear in the filesystem.
6. Turn on "Hide Shadow Files" expert property of the filesystem.
RESULT: "F_File.java [Miss]" node must disappear from the filesystem after a while.
12Process all files
1. Compile "Dialog [Local]" node.
2. Turn on "Process All Files" property of the filesystem.
3. Invoke CVS | Locking | Lock command on "Dialog [Local]" node.
4. Switch to "Runtime" tab of explorer and expand "VCS Commands" and "CVS D:\Tests\Empty\Work1" filesystem nodes.
RESULT: There must be two "Lock" commands. Check both, one of them must have "Processed Files" property set to "test/Dialog.class\ntest/Dialog$1.class" and second must have "test/Dialog.java/ntest/Dialog.form".
Teardown:




Generated: 2004 08 23 04:10
Companion
Projects:
MySQL Database Server   GlassFish Community: an Open Source Application Server   Open Solaris  Open JDK: an Open SourceJDK   Mobile & Embedded Community     Sponsored by 
Sponsored by Sun Microsystems