Header
Subversion (SVN)
Qualitia integrates with Subversion to store and manage test artifacts and the changes in versions/revisions.
Subversion Terms
In order to understand Qualitia Subversion (SVN) better, below is a list of the various terms commonly used:
Terms | Meaning |
---|---|
Version Control Tool | A tool that is used to store and manage artifacts and its changes in terms of versions/revisions. We will use Subversion (SVN), as Qualitia integrates with SVN. |
Artifact | A test case or a task xml file is referred to as an artifact. |
SVN Server | This is the server where you would create your Qualitia Project folder. |
SVN Client | Any SVN client that will help you to check out the Qualitia Project. |
Working Copy | Wherever you check out a directory (project), SVN will create a working copy of that directory. For Qualitia, this may also be the project path that contains Test Cases, Tasks, and Environment directories. |
Update | Update of an artifact ensures that you have the latest version from the repository. |
Commit | Commit will allow you to save your changes to the repository so that all users can access your changes. |
Lock | Locking an artifact (Test Case/Task) will ensure that you will have exclusive rights to edit the artifact. |
Out of Sync | A test case is said to be "out of sync" if one or more of its tasks have been modified but the test data required by the modified tasks is still not provided. |
Qualitia SVN Integration
In order to understand Qualitia SVN integration in detail, please refer the diagram below showing the physical layout of Qualitia and SVN.
Qualitia automatically updates the latest changes from your SVN server whenever required. SVN actions like Update and Commit are implicitly handled by Qualitia.
To understand this implicitness better, you can go through the different cases below in which you might have to use SVN in.
Setting Up a New Project
Create a new project in Qualitia called "Project ABC." Qualitia automatically creates a directory "Project ABC" and also creates Test Cases, Tasks, and Custom Action sub directories. As Project ABC is still not checked into the SVN server, you cannot allocate users to it and expect it to start working.
You have to do the following explicitly:
- Add and commit your newly created Project ABC directory to SVN.
- Once SVN commit is done, you need to ask your team to check-out Project ABC to their Qualitia Project Path.
Once this is done, Qualitia will automatically update and commit all your Qualitia test cases and tasks to your SVN repository as and when required.
Qualitia will also automatically update and commit changes during test case development, task development, and execution.
Creating/Editing Test Cases and Tasks
To understand what Qualitia does when a test case/task is created or edited, refer to the table that shows a sequence of steps performed by a user.
The table below considers a user working on a test case ABC containing Task A, Task B, and Task C.
Step | When User "A" ... | Then Qualitia ... | So That ... |
---|---|---|---|
1 | Clicks Test Case ABC to open it | Gets update for Test Case ABC and all tasks from SVN | The latest update is always available to the user and the impact is known as early as possible |
2 | Tries editing Task A by adding a step or editing a step | Gets Task and update from SVN, then locks Test Case ABC and Task A and allows user to edit | Only user A has exclusive rights to edit Test Case ABC and Task A, thus avoiding change conflicts between users. |
3 | Edits and saves the Test Case, | Saves the Test Case and commits it to SVN and release the lock. | Changes are updated and available to other user immediately. |
When the user "A" clicks Test Case ABC to open it, then Qualitia gets an update for Test Case ABC and all tasks from SVN, so that the latest update is always available to the user and the impact is known as early as possible.
Managing Artifacts by Qualitia SVN
Test cases and tasks are automatically managed by Qualitia SVN. Environment.XML and Custom Action files do not get managed by Qualitia and you have to continue managing these artifacts using SVN client.
Integrate Existing Qualitia Project to SVN Repository
After creating a new project, you must check-in newly created projects to your SVN repository to enable multiple Qualitia users to work on this project.
This is a one-time activity and has to be performed for each project initially when they are created or cloned (Project Save As).
To import newly created project to SVN repository:
- Add your Qualitia project folder in the SVN repository. (ProjectName_projectdb).
- From the machine where you have installed Qualitia Automation Studio, navigate to Qualitia Project Path.
You will find this path in Settings>Project Settings. - Right-click and select SVN Checkout.
- In the URL of repository, select the project folder (ProjectName_projectdb).
- In the Checkout directory, select the folder from the local system where you want to store the project.
Ensure that you add this path as your project path from Settings>Project Settings. - Click OK.
Ensure you add your SVN details under Settings>Project Settings before you start working on this projects.
Your project is now added to SVN repository and all the changes made to Qualitia project artifacts (Tasks and Test cases) are now managed in the SVN repository. Additionally, multiple Qualitia users can now start working on single Qualitia projects using SVN integration.
Checking-out Existing Qualitia Projects to Local Machine
You can start working on the Qualitia projects which are already added to the SVN repository by other Qualitia user.
In order to do so, you need to checkout the corresponding projects to the local system.
To checkout existing Qualitia projects:
- From the machine where Qualitia client is installed, navigate to Qualitia project path.
You will get this path at Setings>Project Settings.. - In the Explorer, right-click and select SVN Checkout from the context-menu.
The Checkout window appears. - In the URL of repository, select the path till the project folder (ProjectName_projectdb).
- Click OK.
Ensure you add your SVN details under Setings>Project Settings before you start working on this projects.
You are now using Qualitia project that is integrated with SVN repository and all the changes made to Qualitia project artifacts (Tasks and Test cases) are now managed in the SVN repository.
Understanding SVN Changes
This page provides information about the changes after integration with SVN. Changes take place at various levels such as Task level, Test Case level, Save As, Suite level, Scheduler, and Report.
Changes to Task
Task Update on Load
Before the task is rendered, Qualitia checks if the updated version of the task exists in SVN and if it does, then it loads the updated version of the tasks.
Task Edit
Qualitia checks if the updated version of the task exists in SVN and reloads the updated version of the tasks in such a case.
Multiple users cannot work on the same task simultaneously. If the task is being worked upon by other users, the current user cannot edit it.
Task committed on Save
Once you have saved a task, the changes are committed to SVN. Hence other users get an updated version when the task is loaded.
Task Save As
The new task file created is committed to SVN.
Changes to Test Cases
Test Case Update on Load
Before the test case is rendered, Qualitia checks if the updated version of the test case and tasks exists in SVN and loads the updated version of test case and tasks.
Qualitia checks if the contained tasks have been modified by the current user or other users. If changes are detected, Qualitia then applies the changes to the test case accordingly. For example, there can be new steps added to the test case or contained tasks. Qualitia updates the test case and requests the user to provide the data to such steps if required.
You get the following message:
You can test the Test Case changes by clicking Run. The changes are not auto saved when you click Run. You must explicitly save the test case to commit changes that Qualitia has made to the test case and the data that you specify for additional task steps, if any.
Editing the Test Case
Multiple users cannot work on the same test case simultaneously. When the test case is edited, you get the information about the other user working on it.
Locking the Test Case or Task
When you try to modify the task from the test case screen and no other user is editing the same task, you are allowed to change the task and acquire a "lock" on that task. When you attempt to edit the task, Qualitia checks if other users have modified the task and newer version of the task exist in the version control system. In such a case, an update for the task is taken and the task is reloaded. Once saved, the changes are committed to version control system. Other users are allowed to modify this test case when you navigate to a different test case or scenario or to a different screen.
Changes to Save As
The new test case created with Save As is committed to SVN.
Import Tasks into Test Case
Qualitia gets updated tasks from SVN and new tasks saved by other users are visible during import.
Modified Tasks on Test Case Screen
In order to help user identify which tasks in the test case are modified since loading, tasks, and test cases are marked with an Edit icon.
Qualitia checks if the test cases and tasks in the current suite have been modified or the newer version of test cases exists in SVN.
The test cases and tasks are updated from SVN.
Qualitia also checks if the test cases in the suite are impacted by the changes to their tasks and prompts you to change the required tests.
If you click Run, Qualitia updates the test case accordingly and the changes to the test cases are committed to SVN. This ensures that other users get updated version of test cases when they try to run a suite. It is possible that the test cases Qualitia wants to update are being worked upon by other users. In such cases, you can click Run and proceed with the execution excluding locked test cases or alternatively click Cancel if the locked test case is important and try to execute the suite later.
For a suite that is scheduled for execution, Qualitia gets updated versions of test cases and tasks from SVN.
Qualitia checks if there are any changes made to the suits scheduled for execution and takes the latest version for execution.
If the test case that needs changes and is being worked upon by other users, scheduler execution proceeds with the rest of the test cases.
Changes to Reports
During execution, if there are test cases which were impacted due to changes to contained tasks, Qualitia attempts to modify the test cases.
If such test cases are being worked upon by other users, Qualitia cannot access and update the test case files. Such test cases are not executed and are marked with Not executed status in the report.
The target project should be committed to SVN already before attempting Save As project.
Ensure that no other user is working on the artifacts of the source project. This helps Qualitia to save updated versions of the tasks and test cases.
The below message is prompted to ensure no other user is working on the source project.
If the source project contains any test cases or tasks that are being worked upon by other users, you get the following prompt.
If there are no users accessing the project and you attempt Save As, then Qualitia makes a copy of the selected project artifacts. Once a copy is made, copied artifacts are committed to SVN.
Changes to Subversion
Authentication Check
Qualitia checks following entries from the Project Settings window.
- User Name
- Password
You must select the check box and enter correct values for the fields mentioned above.
SVN Working Copy Checks
The test cases and tasks must be mapped to the correct SVN URL.
Qualitia checks if the working copy points to the proper SVN URL for the project. This check is performed to:
- Get updated versions of the test cases and task folders.
- Commit new tasks/changes to the existing tasks or test cases to SVN.
If the project path provided on the Configuration Settings is not correct or one or more projects do not exist in the designated path Qualitia displays the following error message.
In order to get rid of the error mentioned above:
- Check the project path on the Configuration Settings Window.
- Ensure the project folder exists at the project path.
- Ensure the project folder at your project path is checked-in in SVN and that it points to the correct SVN URL.
Footer