Overview of HP ALM Synchronizer:
HP ALM Synchronizer seems to be a very new term for most of us and several questions surround us when we first see or hear to this term.
Usually, when we come across a new term, we will start doing a Google search to find out the details about what it is.When we do a search for this term, unfortunately not many results can be found except some installation guides, images, few descriptive details etc.
To have a proper understanding about this, some tutorial/article in easier language is required, especially for those who are covering HP ALM Synchronizer topic for the first time. That is the main reason for which I am sharing this topic with all of you. And I am lucky enough to get a chance to work on this tool and to understand it closely.
This article will give a complete overview of the role, need and working on HP ALM tool along with its download link and procedure in a precise way or your easy understanding. This article will really be a guide for those who are new to this tool.
What You Will Learn:
HP ALM Synchronizer is a very useful and convenient tool for those companies where the Developers are using some Defect Management tools like TFS (Team Foundation Server) and Testers/QA are using some other Defect Management Tools like QC /ALM (Quality Centre/Application Lifecycle Management).
Let’s take a complete look at it now..!!!!
HP ALM Synchronizer is a ‘Defect Management Tool’.
Many Companies use this tool for smooth flow of defect management among the developers and testers. Handling defects are one among the important tasks of testing. Hence it is important to have such a tool which can assure the smooth flow of defect management across the company among the developers and testers.
Now, comes the question of what does HP ALM Synchronizer exactly do and how?
Let’s follow the tutorial below to seek an answer to this question.
Role of This Tool
This tool enables one to synchronize the data between HP ALM and its following endpoints. There will always be 1 ALM Instance tool at one end and some other tool on the other end, among which syncing is done. I am considering HP ALM and TFS as 2 endpoints for rest of the tutorial.
The below diagram depicts syncing between 2 endpoints:
‘HP ALM/QC’ is a tool which is used by the testers/QA for handling all the information related to defects. The other one is the ‘TFS’ which is used among the developers for handling all the information about defects.
If testers do any changes in some defects at the QC end then how can the developers keep an update of that or in simple terms, we can say how can the developers can keep an eye on the tester’s actions for the same defect from the TFS end.
This problem arises just because of lack of communication between the developers and QC/ALM in many organizations and they solely use TFS/JIRA or like manner tools for defect management.
Under such cases, a tool like HP ALM Synchronizer comes into the picture.
HP ALM Synchronizer Client and the Server can be downloaded from the HP Site.
It is very important to know the versions of 2 endpoints before downloading the Synchronizer.
Example: If the versions of HP ALM and TFS are 12.2 then 12.2 Synchronizer Client should be downloaded on the local machine from where the synchronizer needs to run.
Before downloading the client, it’s important to register for an HP Passport and then sign in to the downloaded software and documentation for the installation guide.
Here is the link to get registered: Download Link
Click on Register for HPE Passport to create an account and then login & download as per the needs.
For any assistance regarding the installation guide and documentation, you can go to help menu of the tool.
Need of This Tool
After having an overview of this tool, We will now move on to the next section to know why the need for HP ALM Synchronizer actually arose and what all it exactly does.
Let’s take a look at the replies:
#1) Serves the purpose of Integration – between both the TFS and QC/ALM, which thereby enables the testing team to coordinate on project management with the development team which actually uses TFS strictly.
#2) Synchronizes QC Defects with TFS Bugs – What does this mean? It means that when any defect is logged by any tester at the QC end, then all its related information are mapped directly into TFS, once the synchronizer starts running the developers also come to know about any new defect is that logged with all the details pertaining to it.
#3) Supports Error Handling – No one can be 100% perfect and it is quite common for humans to commit errors and this is where Synchronizers come into picture by providing Error Handling Mechanism. Using the ‘Advanced’ tab section Synchronizer makes it possible by letting some specific group e-mail address section who can respond quickly and intimate the concerned person to rectify the errors.
To explain further about this in a practical manner, I wish to tell you that in my firm once I had the responsibility to take a close look at the errors and get them rectified by making the concerned person.
One needs to have some training and basic knowledge to get it done as errors can be of various kinds. (Types of errors are discussed below in this in article)
#4) Defect Management – This is easily achieved with the help of this tool by matching/syncing of the fields in QC Defect IDs (like the priority, description of the defect, etc) with the corresponding TFS IDs.
Example: Defect has some attachments (documents) to it and for the same defect, there is a corresponding TFS ID.
But in case, if there is some discrepancy in the documents at both the ends, (the documents that are at QC end are not present at TFS end), then the synchronizer solves that issue by syncing and letting the same documents to be made available at both the ends i.e. at TFS as well as at the QC.
Following is the screenshot depicting look and feel of this tool with its fields and links:
As seen in the above diagram, there are several tabs and links section on the left-hand side. We will take a look at the links in the upcoming section.
Links to ALM Synchronizer
By now, we know that there will be 2 endpoints and sync will be done among those 2 endpoints, and now the question that comes next is that how and where will it be present in the Synchronizer.
Links are used for storing information about these or we can say that it defines which entities are included in the synchronization and how synchronization is performed.
Key Points to be noted:
- 2 Links will be present, named as per the organization’s convenience.
- To understand it better, we can name them as Link1 and Link2.
- On ALM/QC (endpoint1) front, defects will be referred as ‘Bugs’ and as ‘Task’ at the TFS end (endpoint2). Note: I will be using these 2 terms throughout the article to state Defect in these 2 endpoints with these names.
- All the related information, as seen in the diagram (related to various tabs like general information, related to connection, field mapping, scheduling) has to be updated for both the links.
- Links should always be in an enabled state as the synchronizer can run only in the enabled state.
- On right clicking any of the links, synchronizer can run by selecting the run synchronizer option (any of the 3 types of synchronizer – which we will be discussing in a while)
These are the basic information that you need to know about the Links of this tool.
Tabs of This Tool
I have tried to give a brief overview of each tab in the easiest manner for your better understanding so that if in case you get a chance to work on this tool in the future, you will at least be aware of what each of them represents.
#1) General Tab – This is the first tab which covers all the general information about both the endpoints. This shows the endpoint name, type, and information regarding all the types of synchronization runs and whether the run passed, failed or failed with errors along with the reports.
#2) Connectivity Tab – This tab contains all connection related details like username, a password for both the endpoints and provides a button for checking connectivity. You can check if the connection is successful or not.
#3) Scheduling Tab – This tab shows the scheduled information about running of a synchronizer and at what time the synchronizer runs by proving the details for both the endpoints or we can say for both the synchronizers (Link1 and Link2 namely).
#4) Filters Tab – This tab is used to provide filter options stating if any filter is required to sync the data or not. Queries from the backend can be provided for both the links and the name of the queries can be set as a filter. For link1, a query can be stored in the ALM side and for link2 at the TFS side respectively.
#5) Events Tab – This tab contains details or rules for creating, updating, deleting a record etc., and if a record is created at one end then what needs to be done at the other end. If a record is deleted or updated at one endpoint then what will be the corresponding event at other endpoints.
These details can be put on this tab by selecting the required radio button or by choosing ‘Do Nothing’ option in case nothing is required to set.
#6) Field Mapping Tab – This is a very important tab to be understood as this holds the details about all the fields of both the endpoints.
Example: State, Severity, Priority of defects etc is stored for both the links and fields can be mapped bidirectionally or unidirectionally in some cases.
And if the severity is updated of any defect at the ALM side then the same value should move to TFS side also and vice versa. Hence it is mapped as bidirectional. Fields can be edited too by selecting the field and clicking on the edit button present on the synchronizer on the field mapping screen.
But this should be done only by trained ones as any mistake can hamper the working of the entire synchronizer.
#7) Advanced Tab – This tab is already discussed above in Error Handling point. This is basically for providing an advanced feature to intimate the concerned person to rectify errors.
Next comes the working of a Synchronizer.!!
Working of HP ALM Synchronizer
The points given below depict how a Synchronizer exactly works.
- A user can define the Input and Output criteria during the synchronization process. It means if a user wants to reflect the changes in the QC or TFS, accordingly, an input can be provided at any of the ends. To put it in better terms, if an input is TFS and output is QC then all the changes will be reflected in the QC defects and vice versa. Example: If I create a new Defect in the QC then the input is QC and output is TFS and the corresponding TFS ID for QC Defect ID is created accordingly.
- For every selected Defect for synchronization in QC, it creates a matching work item in TFS and for every selected Work Item in TFS, it creates a matching Defect in QC. The above diagram also depicts clearly this 2-way synchronization. Note: For new item created at the TFS end, I will be referring it as ‘Work Item’.
- For every Defect updated in QC, it updates a matching Work Item in TFS.
- It maps enumerated values like Severity, Priority etc., for every Defect.
- It synchronizes attachments among TFS and QC.
Next, let’s take a look at the Errors that occur while working with HP ALM Synchronizer and I wish to brief you more about all the possible error types along with their resolution.
Errors while Working with this tool
You may come across some issues while working with Synchronizer. When several people are involved in a working environment, the chances of error occurrence increases accordingly. But one should be ready to get it rectified as soon as possible.
Errors can be of the following types:
#1) Wrong Value Entered:
While working on a QC Defect, anyone may update/enter the description wrongly with some unrequired spaces or with some incorrect symbols.
In such a case, in order to rectify the issue, you can go and check the history of the Defect in QC as who has worked on the same and you can intimate the concerned person to get it updated correctly. It is recommended not to rectify it yourself even if you know the solution.
Let the concerned person handle it. Finally, once it is updated correctly, you can run the synchronizer and check the report if it passed or not and inform the person again in case of any issues. Same can be done if an issue occurs on the TFS side.
#2) Document Issue:
Sometimes the documents attached to the Defect may not be of the expected size or expected format. This can again give an error of FAILED/UPDATE/DELETE ATTACHMENTS and so one has to rectify it.
The process will be same to let the concerned person upload the documents with the expected size or format.
#3) Blank Value in Mandatory Fields:
If any of the mandatory fields are left blank then it will throw an error automatically.
Again, let the concerned person update it correctly and run the synchronizer to see the results.
Finally, let’s discuss the Types of Synchronizer!!
Types of HP ALM Synchronizer
Each type of Synchronizer runs on the basis of different requirements and can be scheduled to run at specific times in a day to know if the updated and newly created records are synced properly without any issues.
#1) Incremental Synchronizer
As the name itself suggests, it runs in case of increments or when some changes are made. This run is to determine which records in the endpoint were created or modified since the previous synchronization task.
Later, synchronization is done between the 2 endpoints based on the settings and mappings that are done for the link.
#2) Full Synchronizer
This synchronizer is for full syncing i.e. to perform a full comparison of the records in each endpoint. This is helpful to gather information about those records which are not synchronized in an Incremental run. Hence, when this runs each and every record is synced.
With the help of the reports, one can easily know which all records in the endpoints are not synced properly.
#3) Integrity Check
This is completely different from the above ones. This is not run in normal scenarios. This runs mainly when creating a new link or modifying an existing link.
This should be handled very accurately, as on its failure the link remains invalidated and cannot be enabled for synchronization.
In a nutshell, a Synchronizer is a tool whose features can be utilized by just entering/creating the endpoints and their related fields just once and a specific timing can be assigned to it later, on which it runs on a daily basis and provides detailed reports to ensure if everything is in place.
Fewer defects is a sign of efficient testing and through this tool, that can be assured by keeping a check on the defects and by watching both the developers and testers to perform their tasks efficiently, without any blame on one another.
Whenever any defect is logged, all its related information will be available to both developers and testers with full transparency with the help of HP ALM Synchronizer Tool.
Only those who are using this tool can truly understand its importance. I’m really excited and its a pleasure to have the knowledge and hands-on experience with such a futuristic tool.
About the author: This post is written by STH team member Varsha G.
Have you tried this tool. Let us know your experiences in the comments section below.