Synchronizing Test Cases Across Projects

The Synchronizing Test Cases Across Projects is custom developed feature and is only available for organizations who have requested for it. This feature is by default not part of any of the apps of QMetry Test Management and is generally not available for all the customers. Reach out to sales@qmetry.com to know more about the feature. There could be some extra cost associated to avail this feature.

Introduction

QMetry allows users to copy test cases across Project. This makes a read-only copy of the test case in the destination project. This use case can be achieved through the Share as Child Test Case feature. The source project test case it is identified as a “Parent” and the destination project in which the test case is copied is identified as a “Child”. All associated child test cases can be viewed from the parent test case and the same way parent test case can be identified from child test case.

  • Once a test case is shared as child test case to other Project, the copy of the latest version of the parent will be created in the destination project and it will be in the read-only format.
  • When a test case is shared, its parent test case key and child test case key remains distinct.
  • When a parent test case is updated/versioned, the child test cases go out of sync.
  • Child test cases can be brought in sync with parent test case either by pushing the latest version to child from parent or by pulling the latest version of the test case from parent to child.
  • Whenever child test case is synced with parent test case, the version of the child test case gets incremented by 1.
  • In Sync or Out of Sync of child test case does not affect the execution of test case. The syncing of the latest version of the child test cases has be done separately on the execution screen.

Business Rules

  • If the synced version of parent test case is archived or deleted, the child test case goes out of sync. Syncing the child test case will sync it with the current version of the parent test case.
  • If the parent test case is deleted, its linkage/association with all child test cases will be removed and these child test cases will become independent test cases. These test cases will become editable.
  • A single parent test case can be shared to multiple destination projects as child test case. Syncing can be done in bulk or individually.
  • The shared child test case will sync only those fields which are common between the parent and the child test case. Other fields will not be synced.
  • When folder is shared, all test cases and sub-folders under the folder will be copied to the destination project.
  • Child test cases get synced with the parent test case even if the child test case is not in the same folder hierarchy of parent test case.
  • Child test cases can not be shared across projects. In case sharing test cases in bulk with combination of parent and child test cases, then the child test cases are skipped and are not shared with other project.
  • Users can copy a child test case in the same project. This create a new entity which will be a separate test case. There will be no relationship between both the test cases.
  • In child project, when “Edit” and “Share” actions are performed in bulk, the child test cases are excluded.
  • If the eSignature Feature is enabled in the project, users can only share Approved test cases. While syncing, only approved test case version in parent project will be pushed to child test cases in other projects.
  • If a parent test case is having a shareable test case as steps, the shareable test case from the parent project is reused in the child test case on syncing.

Pre-requisites & Required Permissions

  • To share test cases as child in other projects, the user should have the “Add” rights for the Test Case module for the destination project.
  • Auto Create Values settings (Projects>Project/Release/Cycle) should be enabled in the destination project. List values of single and multi-lookup list that are present in the parent test case but not present in the child test case, will be auto-created in the child project. If the Auto Create Values settings is disabled, the test cases will not be created in the destination project. 
  • To push/sync latest version of parent test cases to child, the user should have the “Modify” test case rights for the child/destination project.
  • To pull latest version of parent test case from child test case, the user should have the "View" test case rights for the child/destination project.

Share Test Cases across Projects

Users can share a single test case, multiple test cases and a test case folder across domains.

Share a Single Test Case

  1. Open the source project from which you want to share the test case.
  2. Go to the Test Cases module.
  3. In the List view, click on the cog icon of the test case that you want to share.
  4. Select Share as Child Test Case.



The pop-up opens asking you to select Project, Release and Cycle in which you want to copy the test case.

You can select multiple releases and cycles.



Click Finish.


You can verify the status of operation in the Scheduled Task section on the application header.


In the destination project, the test case is copied with its existing folder structure in the source project.



Open the child test case in the destination project and open the Details tab.

You can see the Parent Test Case Key in child test cases to let you identify its parent test case.



Share Test Cases in Bulk

Users can share multiple test cases at a time.

  1. Open the source project from which you want to share the test case.
  2. Go to the Test Cases module.
  3. In the List view, click on the cog icon on the application header.
  4. Select Bulk Operations.



The next screen opens with the list of operations on it.

5. Select Share operation on the list to share multiple test cases at a time and click Next.



The next screen displays list of test cases exist in the project.

6. Select the test cases that you want to share as child test cases to other project.



7. Click Next.

8. Select Project, Release and Cycle in which you want to copy the test cases. You can select multiple releases and cycles.



9. Click Finish.


You can verify the status of operation in the Scheduled Task section on the application header.

In the destination project, the test cases are copied with their existing folder structure in the source project. If the folder structure already exists in the destination project, then the test cases will be copied in the folder.



Share Folders and Sub-folders


1. In the folder tree, right click on the folder and select Share Folder as Child Folder.



The next pop-up opens.

2. Apart from the selected folder, you can select other folders to copy. You can also opt to include root folder entities. Select the Destination Project, Release(s) and Cycle(s).

3. Click Finish.


In the destination project, the folder is copied with the test cases and sub-folders within it.



The following table shows which field values will be copied during Share as Child Test Case operation.


Field in source project

Are the values copied in destination project?

System Fields

Yes (New list values will be created if Auto Create Values is enabled in destination project)

UDFs

Yes, only if UDF of Parent project is available in Child project. (New list values will be created if Auto Create Values is enabled in destination project)

Steps

Yes

Release & Cycle

No

(Release & Cycle will be as per selection made while performing Share as Child operation)

Test Execution

No

Issues

No

Comments

No

Attachment

Yes


The child test cases in the destination project remain read-only. Users cannot edit the child test case details.

In the child test case, users can –

  • add/remove association of Release and Cycles
  • download Attachments
  • add, edit and delete Comments
  • link requirements to the test case
  • link test suites to the test case


Sync Child Test Cases with Parent Test Cases

The feature allows users with proper permissions to be able synchronize the copies of test cases that are associated with different releases & cycles across projects. You can easily judge the newer version vs. older version by looking at the version column displayed on the grid of child test cases.

Use Case: The organization maintains multiple Projects for its testing activity. Some of the test cases from the repository are repeatedly used in these different Projects and, hence, are shared through the Share as Child Test Case feature. These common test cases are updated as and when required in the Projects they are associated with. So the QA Lead wants a method through which they can push the test case changes into those Projects which have copies of that test case.

How to identify a test case is "in sync" or "out of sync"?

To help the user identify that whether the child test case is in sync or out of sync with parent, the Sync Status icon is displayed on the test case grid. The icon is clickable to sync the child test case version with parent.

The Sync icon acts as a Sync Indicator which indicates whether the child test case is in sync with its parent test case or not. Users can filter the records on Sync Status.


Go to the Children tab of the parent test case and see the Sync Status icon for children test cases.

There can be either Red icon or Green icon in the column.

  • Green sync icon: It indicates that the version of the child test case is synced with parent and has the latest version as parent.
  • Red sync icon: It indicates that the child test case is out of sync with parent and needs to be synced with its parent test case. Clicking on the icon initiates a sync if the user has appropriate permission in the parent Project.



Version of Child Test Case:

The Version sequence of child test case is independent of parent test case.

For example, a parent test case is updated with some details in the same version. Now the child test case is synced with the parent test case. So the Version of child test case is incremented by 1 irrespective of the current version of parent test case.

Filter on Sync Status

You can apply filters on the Sync Status column at all places where the column is placed. Two filter options are provided for Sync Status column i.e. “In Sync” and “Out of Sync”.


Use Case: Testers want the ability to filter test cases with the Sync Status so that they can see test cases with either of the Sync Status i.e. “Synced” or “Out of Sync”.


Sync Status Filter in Parent Project on Children tab


Sync Status Filter in Child Project on Test Case Grid



Steps to sync test cases from Parent Project to Child Project - Push Request.

There are multiple ways to sync child test cases with parent test case:

A. Sync from the Children tab on test case detail page

You can Push the latest version from Children tab on Test Case Detail page.

In case the parent test case is the updated one or has the latest version, go to the Children section on the test case detail page and click on the Sync Status icon to sync the child test case version with that of the parent one.



B. Push latest version to Child Test Cases from Test Case Detail page

  1. Select the test case that is to be updated in the child project
  2. Click Push.




A confirmation message pops up.

Click "Yes" to proceed.


C. Push latest version to Child Test Cases from Test Case List View

You can Push the latest version from Test Case list view.

  1. Open the parent project from which you want to push latest version to the child test case.
  2. Go to the Test Cases module.
  3. In the list view, click on the cog icon of the test case that you want to sync.
  4. Select Push latest version to Child Test Case(s).



The screen opens asking you to select the Project in which child test case is to be synced.

Select the project and click Finish.



You can see that the child test case is synced with the parent test case and is updated with the changed details or version.

D. Push Changes to Child Test Cases from Parent Project (multiple test cases)

User can sync multiple child test cases to their parent project at a time from the test case list view itself instead of opening detail page of individual test cases.

  1. Open the Test Cases module.
  2. Click the cog icon on the application header and select Bulk Operations.
  3. On the Bulk Operation screen, select the Push operation and click Next.



4. Select one or more test cases from grid and click Next.



5. Select the child Project to which the changes in parent project are to be pushed and click Finish.



The confirmation message pops up.

Click "Yes" to proceed.


It will push the latest version into all children that are currently associated with the latest version of the selected parent test case(s).

For Example,

In parent Project, the test case Version is 4. Its children test cases are still on Version 1. The parent test case is now updated and its Version is changed to 5. Now if the users push latest version to children, then the children test cases will be updated with values and their Version will be incremented by one to make it Version 2.

Steps to sync test cases on Child Project from Parent Project - Pull Request

There are multiple ways to sync child test cases from a child project.

A. Sync Status on Child Test Case Grid

To help the user identify that whether the child test case is in sync or out of sync with parent, the Sync Status icon is displayed on the test case grid. The icon is clickable to sync the child test case version with parent.

Use Case: As a user of a child Project the tester wants to be able to see if the child test case they are working on is the latest version, so they can know if there are modifications they may need.



B. Sync Status on Child Test Case Detail Page

To help the user identify that whether the child test case is in sync or out of sync with parent, the Sync Status icon is displayed beside the version on the child test case detail page. The icon is clickable to sync the child test case version with parent.



C. Pull Changes from Parent Test Case(s)

User can sync children of multiple test cases to their parent Project at a time from the test case list view itself instead of opening detail page of individual test cases.

If a parent test case is updated in the source Project, then those changes can be pulled from the target project. The child test case in the target Project is then be updated and incremented in version.

  1. Open the target project in which child test cases exist.
  2. Open the Test Cases module.
  3. Click the cog icon on the application header and select Bulk Operations.
  4. On the Bulk Operation screen, select the Pull operation and click Next.



5. Select test cases that are to be updated from their parent test cases and click Pull.



The confirmation message pops up.

6. Click "Yes" to proceed.