cornercorner
FeaturesPluginsDocs & SupportCommunityPartners

PVCS Profile Test Specification for Generic VCS Module Test Specification

Author: Peter Pis
Version: 1
Last update: 24.08.2004
Introduction: Merant's PVCS tool is one the supported version control systems in the IDE. This document describes how PVCS profile for Generic VCS module should be tested in order to know whether all of its commands work correctly. 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: Global Commands

Purpose: This suite tests functionality of PVCS global commands.
Setup: Be sure to have PVCS 7.5.1.0 or higher installed on your computer with an account created for you.

#Test caseDescription
1Global creation of project database
1. Invoke "Versioning | PVCS | Global PVCS Create Project Database..." from main menu.
2. Verify that "Project Database", "Workfiles Location" and "Database Name" textfields appeared in the dialog.
3. Setup "Project Database" to the directory you prepared, e.g. D:\Tests\PVCS\Repo1. This directory must be empty.
4. Setup "Workfiles Location" to the directory you prepared e.g. D:\Tests\PVCS\Work1.
5. Setup name for database to "Database Name" textfield and push "OK" button.
RESULT: Verify that status line displays "Command Global PVCS Create Project Database... finished." message.
2Global check out
1. Invoke "Versioning | PVCS | Global PVCS Get..." from main menu.
2. Verify that "Project Database", "User Name", "Project" and "Work Files Location" textfields and "Lock for Current User", "Check out writable workfile" and "Get all subdirectories" checkboxes appeared in the dialog.
3. Using "Browse" button setup "Project Database" with existing repository directory, e.g. D:\Tests\PVCS\Repo1.
4. Setup your name to "User Name" textfield.
5. Setup "Workfiles Location" to the directory you prepared e.g. D:\Tests\PVCS\Work1.
6. Check all checkboxes and push "OK" button.
RESULT: "PVCS D:\Tests\PVCS\Work1" versioned directory must be mounted into "Versioning" tab of the explorer. Verify that this versioned directory is displayed in "Versioning Manager".
Teardown: Invoke Versioning | Versioning Manager from main menu, select registered PVCS directory and push Remove button.



Test suite 2: Mount PVCS filesystem

Purpose: This suite tests whether it is possible to mount PVCS filesystem according to settings specified in mounting wizard which are defined in chosen PVCS profile.
Setup: Be sure to have Merant PVCS Version Manager 7.5 or higher installed on your computer with an account created for you. Make sure that PATH environment variable is set properly so that vlog command can be executed from command-line. Create new working directory with similar contents like it is shown at these pictures. Create one more new directory for repository location. Both directories should be empty.

#Test caseDescription
1PVCS settings available
1. Invoke Versioning | Versioning Manager from main menu and push Add... button.
2. Choose proposed PVCS profile from the list.
3. Verify that "Project Database", "Project Name", "User Name" and "Workfiles Location" textfields and "Perform Get" check box appeared in the dialog.
RESULT: The "Profile" page of the wizard must contain all fields plus "Unix Shell" in case of Windows 95/98/ME.
2Project database selector
1. Click "Select..." button next to "Project Database" textfield.
2. Choose "Select a Database Used By PVCS GUI" radio button in "Project Database Selector" dialog.
3. If you have some databases registered in PVCS GUI, these should be loaded after a while.
4. Choose "Pick a Database In Subfolder Of" radio button and use "Browse..." button to select the empty directory you prepared.
5. After a while "No Database Found." message must appear.
6. Choose "Database Location Path" radio button and use "Browse..." button to select the empty directory you prepared e.g. D:\Tests\PVCS\Repo1. Then press "OK" button.
RESULT: "Project Database" textfield must contain D:\Tests\PVCS\Repo1 directory.
3PVCS connected
1. Setup your name to "User Name" textfield.
2. Setup "Workfiles Location" to the directory you prepared e.g. D:\Tests\PVCS\Work1.
3. Eventually setup "Unix Shell" in case of Windows 95/98/ME system, uncheck "Perform Get" check box and push "Finish" button.
4. Give your password and push "OK" button.
RESULT: "PVCS D:\Tests\PVCS\Work1" filesystem must be mounted into explorer.
Teardown:



Test suite 3: Repository creation

Purpose: This suite tests whether it is possible to upload source code into PVCS repository. It is essential to start version control over new files in order to work with them later on a daily basis.
Setup: The repository of PVCS must be completely empty. In the " Working directory" create new "Standard - Java Application" project.

#Test caseDescription
1Create project database
1. Switch to "Versioning" tab of explorer.
2. Right click the root node of your "PVCS D:\Tests\PVCS\Work1" filesystem.
3. Choose PVCS | Create Project Database action from the popup menu.
RESULT: The status line of IDE must contain "Command Create Project Database finished." message.
2Create projects
1. Invoke PVCS | Create Project action on "Test" project node.
RESULT: Project must be created successfully and appropriate nodes must have [Current] status.
3Multiple project creation
1. Select "src" and "src\test" files as one multiselection using CTRL key.
2. Invoke PVCS | Create Project action on this multiselection.
RESULT: Both projects must be created successfully and appropriate nodes must have [Current] status.
4Single file addition
1. Invoke PVCS | Add action on "A_File [Local]" node.
2. Type "Generated A_File class." as "Workfile Description".
3. Type "Initial revision." as "Change Description" and push "OK" button.
RESULT: The status of "A_File" node must lose [Local].
5Multiple file addition
1. Select "B_File [Local]" and "D_File [Local]" files as one multiselection using CTRL key.
2. Invoke PVCS | Add action on them.
3. Type "Auto-generated class file." as "Workfile Description".
4. Type "Initial revision." as "Change Description" and push "OK" button.
RESULT: The status of both nodes must lose [Local].
6Add with lock and label
1. Switch to "Files" of explorer.
2. Press CTRL key and invoke PVCS | Add... action on "Formular [Local]" node.
3. Type "Auto-generated form file." as "Workfile Description".
4. Type "Initial revision." as "Change Description".
5. Type "My_Version" as "Assign a version label".
6. Check "Keep the revision locked" checkbox.
7. Check "Float label with the tip revision" checkbox and push "OK" button.
RESULT: The status of "Formular" node must change to [Current; 1.1] (...) where "..." means your name.
Teardown:



Test suite 4: Regular development

Purpose: This suite tests the most often used commands of typical PVCS user.
Setup: No preparation required.

#Test caseDescription
1Checkout a file
1. Double click "A_File" node. It will be opened into editor.
2. Invoke PVCS | Get on "A_File" node in explorer.
3. Check both checkboxes and push "OK" button.
RESULT: After a while the status of file must change to "A_File [Current; 1.1] (...)". Its editor tab must not indicate the file as (read-only).
2Modify the file
1. Insert brand-new line somewhere into the file.
2. Delete some other line but not directly next to the new line.
3. Modify another line but not directly next to the lines mentioned above and Save the file.
RESULT: The file must change to "A_File [Locally Modified; 1.1] (...)".
3View differences
1. Invoke PVCS | Diff on "A_File [Locally Modified; 1.1] (...)" node.
RESULT: All three differences must be highlighted in a special window with both versions of the file. New line is green, removed line is red and modified one is blue.
4Checkin the file
1. Invoke PVCS | Put on "A_File [Locally Modified; 1.1] (...)" node.
2. Setup "Three lines have changed." as "Change Description" and push "OK" button.
RESULT: The file must become read-only and "A_File".
5Inspect the file
1. Right click "A_File" node.
2. Choose PVCS | History action from the popup menu.
RESULT: Output window must contain information about the file. Make sure that both revisions of A_File.java are mentioned there with appropriate comments.
6Get a missing file
1. Delete the "Formular [Current; 1.1] (...)" node.
2. Select both "Formular.form [Missing; 1.1] (...)" and "Formular.java [Missing; 1.1] (...)" nodes at once using CTRL key.
3. Invoke PVCS | Get on this multiselection and push "OK".
RESULT: Make sure the files were checked out and recognized. It must have "A_File [Current; 1.1] (...)" status and become read-only.
7Give up a lock on file
1. Right click "Formular [Current; 1.1] (...)" node.
2. Choose PVCS | Unlock popup menu action.
RESULT: Make sure that the node has changed to "Formular".
8Remove a revision
1. Invoke PVCS | Remove Revision on "D_File" node.
2. Answer "y" when asking you for input of this operation.
3. Push "OK" button and close the information about successful removal of revision.
RESULT: Make sure that the node has no change.
9Create own revision
1. Press CTRL key and invoke PVCS | Put... on "D_File" node.
2. Setup "Assigning own number." as "Change Description".
3. Check "Check the workfile in and immediately out" checkbox.
4. Setup "2.0" as "Assign a revision number".
5. Setup "My_Version" as "Assign a version label" and push "OK" button.
RESULT: Make sure that the node has changed to "D_File".
10Get specific revision
1. Press CTRL key and invoke PVCS | Get... on "D_File" node.
2. Setup "Specific revision" to "2.0".
3. Check "Set the date and time of the file to the current time" check box and push "OK" button.
RESULT: Make sure that the node is read-only. Also check that the modification time is set to current time.
11Lock a file
1. Right click "D_File" node.
2. Choose PVCS | Lock popup menu action.
RESULT: Make sure that the node has changed to "D_File [Current; 2.1] (...)".
12Create a branch
1. Press CTRL key and invoke PVCS | Put... on "D_File [Current; 2.1] (...)" node.
2. Setup "Starting new branch." as "Change Description".
3. Check "Check in the workfile even if unchanged" checkbox.
4. Check "Apply a lock on checkout" checkbox.
5. Setup "MyBranch" as "Assign a version label".
6. Check "Float label with the tip" checkbox.
7. Check "Start a branch" checkbox and push "OK" button.
RESULT: Make sure that the node has changed to "D_File [Current; 2.0.1.1] (...)".
13View development tree
1. Right click "D_File" node.
2. Choose Versioning Explorer popup menu action.
3. "Versioning" window must get opened with "D_File.java [Current; 2.0.1.1] (...)" node expanded.
4. Expand "2.0 Assigning own number." node and its "2.0.1" subnode too.
RESULT: New subnode "2.0.1.0 Starting new branch." must show up.
Teardown:



Test suite 5: Additional command options

Purpose: This suite tests less often used commands or its specific options and less typical workflows of PVCS user.
Setup: No preparation required.

#Test caseDescription
1Unlock specific revision
1. Press CTRL key and invoke PVCS | Unlock... on "D_File [Current; 2.0.1.1] (...)" node.
2. Setup "2.0.1.1" as desired revision and push "OK" button.
RESULT: The file must change to "D_File".
2Lock specific revision
1. Press CTRL key and invoke PVCS | Lock... on "D_File" node.
2. Setup "2.0" as desired revision and push "OK" button.
RESULT: The file must change to "D_File [Current; 2.1] (...)".
3Unlock by user
1. Press CTRL key and invoke PVCS | Unlock... on "D_File [Current; 2.1] (...)" node.
2. Setup your name as desired user and push "OK" button.
RESULT: The file must change to "D_File".
4Lock by version label
1. Press CTRL key and invoke PVCS | Lock... on "Formular" node.
2. Choose "Revisions identified by version label(s)" radio button.
3. Setup "floating_version:My_Version" as desired version label and push "OK" button.
RESULT: The file must change to "Formular [Current; 1.1] (...)".
5Unlock trunk revision
1. Hold CTRL key and right click "Formular [Current; 1.1] (...)" node.
2. Choose PVCS | Unlock... popup menu action and push "OK" button.
RESULT: The file must change back to "Formular".
6Local refreshing
1. Externally delete D_File.java file.
2. Within 15 seconds invoke PVCS | Refresh on "D_File" node.
3. The file must immediately change to "D_File.java [Missing]".
4. Press CTRL key and invoke PVCS | Get... on "D_File.java [Missing]" node.
5. Setup "Version Label" as "floating_version" and push "OK" button. Then repeat step 1.
6. Within 15 seconds invoke PVCS | Refresh on "test" node.
RESULT: The file must immediately change to "D_File.java [Missing]".
7Recursive checkout
1. Invoke PVCS | Get on Test node.
2. Uncheck "Get all subdirectories" and push "OK" button.
3. Close the "Retrieving" dialog once it's done.
4. The "D_File.java" node must stay still as [Missing].
5. Repeat step 1 and push "OK" button directly.
RESULT: Once "Retrieving..." dialog has finished its work, the node must immediately change to "D_File".
8Recursive refreshing
1. Externally delete D_File.java file.
2. Within 15 seconds invoke PVCS | Refresh Recursively on "Test" node.
RESULT: Once "Retrieving..." dialog has finished its work, the file must immediately change to "D_File.java [Missing]".
9Recursive checkout by date
1. Press CTRL key and invoke PVCS | Get... on Test node.
2. Check "Check out by date" and push "OK" button.
RESULT: Once "Retrieving..." dialog has finished its work, the node must immediately change to "D_File".
10Checkout newer revision
1. Externally delete D_File.java file.
2. Press CTRL key and invoke PVCS | Get... on D_File.java [Missing] node.
3. Check "Check out by date" and choose "Revision newer than date/time" option.
4. Set it to yesterday's date in format mm/dd/yy hh:mm:ss and push "OK" button.
RESULT: The node must change to "D_File".
11Checkout older revision
1. Externally delete D_File.java file.
2. Press CTRL key and invoke PVCS | Get... on D_File.java [Missing] node.
3. Check "Check out by date" and choose "Revision checked in before" option.
4. Set it to tomorrow's date in format mm/dd/yy hh:mm:ss and push "OK" button.
RESULT: The node must change to "D_File".
12Diff specific revisions
1. Press CTRL key and invoke PVCS | Diff... on A_File node.
2. Setup "1.0" as "Revision 1".
3. Setup "1.1" as "Revision 2" and push "OK" button.
RESULT: Exactly the same window as in "4.3 View differences" test case must get opened into editor.
13Diff by version labels
1. Press CTRL key and invoke PVCS | Diff... on A_File node.
2. Choose "Version label 1" option and set it up to "floating_version".
3. Choose "Version label 2" option and set it up to "My_Version" and push "OK" button.
RESULT: "No differences were found in D_File.java" message dialog must show up.
14Diff without whitespaces
1. Invoke PVCS | Get on B_File node.
2. Check both checkboxes and push "OK" button.
3. Open "B_File [Current; 1.1] (...)".
4. Change some word at one line and press TAB key at beginning of another line. Save the file.
5. Press CTRL key and invoke PVCS | Diff... on B_File [Locally Modified; 1.1] (...) node.
6. Check "Ignore white spaces at beginning and end of line" checkbox and push "OK" button.
RESULT: Diff window must highlight only one line with the modified word.
15Generate delta file
1. Press CTRL key and invoke PVCS | Diff... on B_File [Locally Modified; 1.1] (...) node.
2. Check "Generate delta file" checkbox.
3. Setup "Delta output file" to e.g. "D:\Tests\PVCS\Repo1\delta.txt" and push "OK" button.
RESULT: Status line must say "Command Diff finished." Make sure that "D:\Tests\PVCS\Repo1\delta.txt" file has been really created.
16Apply delta file
1. Invoke PVCS | Get on B_File [Locally Modified; 1.1] (...) node.
2. Check "Check out writable workfile" and push "OK".
3. Invoke PVCS | Apply Delta on B_File [Current; 1.1] (...) node.
4. Use "Browse..." button to setup "Delta file" to "D:\Tests\PVCS\Repo1\delta.txt" and push "OK" button.
RESULT: Status line must say "Command Apply Delta finished." and the file contains changes made in test case "5.13 Diff without whitespaces".
17Create 3 more revisions
1. Press CTRL key and invoke PVCS | Put... on B_File [Locally Modified; 1.1] (...) node.
2. Check "Apply a lock on checkout" and setup "Change Description" to "One minor change done.".
3. Setup "Assign a version label" to "Revision_A" and push "OK".
4. Change some other line, Save the file and repeat steps 1 and 2.
5. Setup "Assign a version label" to "Revision_B" and push "OK".
6. Change some other line, Save the file and repeat steps 1 and 2.
7. Setup "Assign a version label" to "Revision_C" and push "OK".
RESULT: The node must change to "B_File [Current; 1.4] (...)".
18Merge by revisions
1. Invoke PVCS | Merge on "B_File [Current; 1.4] (...)" node.
2. Setup "1.1" as "Parent Revision Number".
3. Setup "1.2" as "Branch Point 1 Revision Number".
4. Setup "1.3" as "Branch Point 2 Revision Number" and push "OK" button.
RESULT: The node must change to "B_File [Locally Modified; 1.4] (...)". Make sure the file contains all changes from those three revisions.
19Merge by version labels
1. Press CTRL key and invoke PVCS | Merge... on "B_File [Current; 1.4] (...)" node.
2. Setup "Revision_A" as "Parent Version Label".
3. Setup "Revision_B" as "Branch Point 1 Version Label".
4. Setup "Revision_C" as "Branch Point 2 Version Label".
5. Setup e.g. "D:\Tests\PVCS\Repo1\B_File.merged" and push "OK" button.
RESULT: Make sure that "D:\Tests\PVCS\Repo1\B_File.merged" file contains all changes from those three revisions.
20View selected information
1. Press CTRL key and invoke PVCS | History... on "B_File [Current; 1.4] (...)" node.
2. Choose "Revision information only" as "Report type".
3. Setup "1.2" as "Revision".
4. Setup your name as "Author(s)" and "Owner(s)".
5. Setup 12/12/01 00:00:00 as "Date from".
6. Setup 12/12/05 00:00:00 as "Date to" and push "OK" button.
RESULT: Make sure that only information about revision 1.2 was printed without standard header.
21Remove particular revision
1. Invoke PVCS | Remove on "B_File [Current; 1.4] (...)" node.
2. Confirm your decision. Choose "Specific revision(s)" option, set it up to "1.2" and push "OK" button.
3. Choose "Revisions identified by version label(s)" option, set it up to "Revision_A" and push "OK" button.
RESULT: Make sure that PVCS | History command does not give any information about revision 1.2 any more.
22Set password
1. Create new command "Test" with execution string cmd /x /c "echo ${PASSWORD}" and turn on its "Display Output" property.
2. Invoke PVCS | Set Password command on the filesystem.
3. Type in "abcd" and push "OK" button.
4. Invoke Test command on the filesystem.
RESULT: Verify that there is "abcd" printed in the "Standard Output" tab of output window.
23Other recursive commands
1. Test functionality of PVCS | Add command on "test" node.
2. Test functionality of PVCS | Lock command on "Test" node.
3. Test functionality of PVCS | Unlock command on "Test" node.
4. Test functionality of PVCS | History command on "Test" node.
RESULT: Make sure that these commands works fine according to how "Proceed all subdirectories" checkbox is set.
Teardown:



Test suite 6: Additional features

Purpose: This suite tests other features like versioning explorer and VCS groups support.
Setup: No preparation required.

#Test caseDescription
1View old revision
1. Invoke Show Versions on "A_File" node.
2. "A_File.java" node must be expanded in special window and contain two revisions with proper comments.
3. Invoke View on "1.0 Initial revision." node.
RESULT: The initial revision of A_File must get opened into editor.
2Compare two revisions
1. Invoke Diff on "1.0 Initial revision." node.
2. Exactly the same window as in "4.3 View differences" test case must get opened into editor.
3. Multiselect both revisions and invoke Diff on them again.
RESULT: The same window with highlighted differences must open again.
3Add file to VCS group
1. Invoke Include in VCS Group | <Default Group> on "A_File.java" node.
2. Invoke Window | Versioning | VCS Groups from main menu.
3. Special window will show up. Expand "<Default Group>" node.
RESULT: There must be "A_File [Current]" node under that group.
4Checkin from VCS group
1. Invoke PVCS | Get on "A_File.java" node in "Versioning" window.
2. Check both checkboxes and push "OK" button.
3. Switch to "Files" tab of explorer, open that file, modify it and Save it.
4. Setup "Description" property of "<Default Group>" node to "Checked in from VCS group.".
5. Invoke PVCS | Put on "<Default Group>" node.
6. Make sure that "Put - A_File.java" dialog contains "Checked in from VCS group." comment and push "OK".
RESULT: A_File node must lost [Locally Modified; x.y] state and there must be "1.2 Checked in from VCS group." node under "A_File.java [Current]" node in "Versioning" window.
5Verify VCS group
1. Invoke Verify on "<Default Group>" node.
2. Check "Remove Files From Group" on "Not Changed" tab and push "Correct Group" button.
RESULT: The "A_File" node must disappear from "<Default Group>" group.
Teardown:




Generated: 2004 08 24 03:21
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