Migrating from HP ALM to QMetry using QMetry Migration Tool

In this guide, we will run you through the steps to migrate your data from HP-ALM to QMetry Test Management. This documentation enlists all the information on migration process like what can be migrated, and what are the assets/data that may not be migrated, features of the migration utility along with System Requirements and Pre-requisites to be taken care before proceeding with migration.

What ALM assets are migrated?

ALM AssetsQMetry Assets
RequirementsRequirements
TestsTest Cases
Test SetsTest Suites
Test RunsTest Execution
DefectsIssues

Capabilities of the Migration Tool

  • Migrates Requirements, Tests and all their versions, rich text in Test Steps.
  • Migrates Test Data in Test Steps, Test Sets, Test Runs/Executions, Defects.
  • Migrates custom fields & their values for all the assets.
  • Migrates folder structure. 
  • Migrates comments for all the assets. 
  • Migrates linkages between assets.
  • Migrates all the attachments & URL links.
  • Support for Mapping of HP-ALM Enumerated fields and their values with QMetry fields.

System Requirements

  1. JDK 1.8.0 needs to be installed.
  2. MySQL 5.7 or above needs to be installed.
  3. Operating Systems: Windows 10, Linux - Cent OS 7, RHEL
  4. CPU: 8 Cores, RAM: 16 GB
  5. Apache Tomcat server needs to be installed. Reference: https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.60/bin/ (select as per the system you are using).
  6. ALM version 12.55 (Utility is tested on)
  7. Get your QMetry Migration Tool (qmalm.war) and its license (qmetry-license-version-1.0) from Professional Services team.
  8. QMetry and ALM should be running on your system with valid license.
  9. Set UTC Time Zone in QMetry as all the dates from ALM will be migrated in to QMetry as per UTC time zone.
  10. Create ALM users in QMetry.

Pre-requisites

  1. Turn off API limits and Audit Logging.

    • These steps need to be followed in the QMetry database. Enter 'root' database credentials when prompted.

      • sudo su -

      • docker exec -it qmetry_rds_1 bash

      • mysql -uroot -p -A

      • USE qmetry;

    • Run the following SELECT query check the status and the UPDATE query to disable audit logs and email notifications.

    • 0=disabled 1=Enabled

      • SELECT CAST(isEmailEnabled AS UNSIGNED) as isEmailEnabled , CAST(isLogEnabled AS UNSIGNED) as isLogEnabled from client;

      • UPDATE `client` SET `isEmailEnabled` = b'0', `isLogEnabled` = b'0';

    • To enable them back (after migration is complete) run the following UPDATE query, and to check its updated value run the SELECT query.

      • UPDATE `client` SET `isEmailEnabled` = b'1', `isLogEnabled` = b'1';

      • SELECT CAST(isEmailEnabled AS UNSIGNED) as isEmailEnabled , CAST(isLogEnabled AS UNSIGNED) as isLogEnabled from client;

    • Type \q to exit MySQL DB.

    • Type exit to exit the docker container.

  2. Install Certificate in JDK on the machine running the migration utility.

  3. Run the migration utility from its dedicated machine.

    • Open your command prompt go to qmalm.war directory.

    • Put license file "qmetry-license-version-1.0" beside qmalm.war file.

    • Run the commands: 

      • cd PATH_TO_WAR_FILE

      • java -jar qmalm.war --spring.datasource.username=dbusername --spring.datasource.password=dbpwd

    • The application should be accessible from the same machine using URL : http://localhost:8080/qmalm. Once you're on the ALM login page of the Utility, proceed with steps below.

  4. Remove/rename duplicate list values for system/custom fields in ALM as QMetry does not support creation of duplicate values.
  5. Create a ALM Template Project in QMetry.

    The purpose of template project is to create a project structure that will be used to migrate the actual ALM project with data into QMetry. In this template project, create  HP-ALM users. Refer to Users in QMetry.

Migration Steps

  • Open the command prompt and go to the qmalm.war directory.
  • Put license file besides qmalm.war file.
  • Run the following command by giving the path of the qmalm.war file : PATH_TO_WAR_FILE>java -jar qmalm.war --spring.datasource.username=<DB USERNAME> --spring.datasource.password=<DB PASSWORD>
    • cd <PATH_TO_WAR_FILE>
    • java -jar qmalm.war --spring.datasource.username=<dbusername> --spring.datasource.password=<dbpwd>

The application should be accessible from the same machine using the URL : http://localhost:8080/qmalm . Once you're on the ALM login page of the Utility, proceed with steps below:

Step 1: ALM Login

We recommend logging in using Admin Credentials so that the Projects available for migration are not restricted by a user's permissions.

  • Base URL: ALM URL in the format: http://<IP Address>:<Port> 
  • Username: ALM Username and Password

Step 2: QMetry Login

We recommend logging in using Admin Credentials so that the Projects available for migration are not restricted by a user's permissions.

  • Base URL: Your QMetry login : example: https://testmanagement.qmetry.com
  • API Key: QMetry Open API Key
  • Organization Code: Enter QMetry Organization Code, or leave it empty.

Step 3: Pre-requisites

Make sure you comply with the pre-requisite mentioned on the screen.

Step 4: Project Selection

  • Select ALM Projects you would like to migrate into QMetry. Also, select the QMetry Project Template to be used to create the project structure. The template project should be empty with 'Rich text enabled' and users linked to it.
  • Project key and Project Lead can be given by selecting the '' If required, Add Project Lead....." checkbox.

Step 5: Entity Mapping

Under this section, map your HP ALM assets being migrated into relevant QMetry Assets.

Step 6: Custom Fields

You can select system fields and user-defined fields that are part of your ALM project that needs to be migrated to QMetry.

NOTE : This is an important step to ensure there is no data loss when the project is migrated to QMetry. Make sure all the required fields are mapped correctly. Once migrated, the data cannot be reverted.

Selected fields will be converted as custom fields in QMetry and will be auto mapped with the appropriate fields in the field mapping page.

Custom Field for ALM Requirements

Custom Field for ALM Test

Custom Field for ALM Test Set

Custom Field for ALM Defect

Step 7: Field Mapping

Field mapping helps you to migrate the data from the fields of your ALM assets to respective QMetry fields. Complete the field mapping for as many fields as possible to get their data migrated to QMetry. Any mandatory field of ALM should be mapped to mandatory field of QMetry.

Fields can be mapped for Requirements, Tests, Test Sets and Defects.

Field Mapping for ALM Requirements → QMetry Requirements

Field Mapping for ALM Tests → QMetry Test Cases

Field Mapping for ALM Test sets -> QMetry Test Suites

Field Mapping for ALM Defects → QMetry Issues

Step 8: Field Value Mapping

You can map the values of your different fields of ALM to that of QMetry.

Migration Tool provides an option of "Add value" if user wants to create a new field value in QMetry same as ALM offers. To create the new values > Click on the checkbox beside the field value > Click on "Add value" button below > Now map the ALM field values to the newly created QMetry fields values.

NOTE: The Add Value option is not available for test execution values and test step execution values.


Field Value Mapping for Requirements 

Field Value Mapping for Tests (QMetry Test Cases)

Field Value Mapping of Test Sets (QMetry Test Suites)

Field Value Mapping for Executions


Field Value Mapping for Defect


The defects will be created in QMetry internal issue module.

Step 9. Migration

Click on the Migrate Button to start the migration process.


The migration progress can be monitored until it is completed.


Once the migration is completed, you can log in to QMetry and verify all the migrated data in your given projects.

Post-requisite

The migration utility is designed to support resuming the data migration from the same point in case an error is encountered due to data issues or other reasons. In such cases re-migrating the project is not necessary. At times when you run into errors, you can try to resume the migration after capturing the logs as follows.

  • Capture Migration Logs

    • The logs should be present in the logs folder of the migration utility directory containing the .war file. Zip the logs folder and send it to Professional Services team for investigation.

  • Resume the Migration

    • The migration can be resumed by refreshing the existing page or clicking "Resume" on the migration page.

  • Reverting API metering, Audit history logging and Email Notifications.

    • Run the following UPDATE query, and to check its updated value run the SELECT query.

      • UPDATE `client` SET `isEmailEnabled` = b'1', `isLogEnabled` = b'1';

      • SELECT CAST(isEmailEnabled AS UNSIGNED) as isEmailEnabled , CAST(isLogEnabled AS UNSIGNED) as isLogEnabled from client;

      Refer to the Pre-requisite for more details.

Important Notes & Limitations

  • Business Models, Test Configurations, Libraries, Dashboards, Live Reports of Test Sets, Graphs, History logs, Business Components are not migrated.
  • In case of ALM project having versioning enabled, test steps and its data of only the latest version of testcase will get migrated.
  • ALM users are not migrated to QMetry. We recommend the users should be created and linked to the template project manually before starting the migration.
  • QMetry does not support direct linkage of Issue with test-suite. So, Defect linked to test-sets will not be migrated.
  • QMetry does not support direct linkage of Issue with Testcase. Only the defects linked to testcase while execution are linked.
  • Attachments greater than 100 MB(for QTM cloud) or 300 MB(for QTM server) in size are not migrated. Such attachment details will be added to the 'skipped_attachments.log' file.
  • For assigning users to the migrated assets:
    • If the user is found in QMetry, the entity assigned to him in HP ALM, gets assigned to that user in QMetry.
    • If the user is not found in QMetry, but the selected Project Lead user is present in QMetry, the assets of HP ALM are assigned to the him.
    • If the user and Project Lead are not found in QMetry, the assets are assigned to QMetry System Admin.
  • Inheritance feature of Requirements is not supported in QMetry.
  • QMetry Testcase: Estimated time maximum value is 99999 mins; the value will be skipped for Estimated time > 99999 mins.
  • Migration Tool will not migrate execution of a deleted Testcase.

  • Feature similar to 'Call to test' feature of ALM is not supported by QMetry and hence such data will not get migrated.
  • Long text in Project Description, Comments are not supported by QTM. for example description in release and cycle.
  • Customized System Lookup List items are not migrated.
  • Only latest run of the test set will get migrated as execution history is not supported in QMetry.
  • Projects under each Domain of ALM will get migrated(Domain-wise segregation of projects cannot be done in QMetry). Domain name can be migrated in project's description if required.

Need Assistance?

If you run into any questions or concerns during your migration, you can reach out to Professional Services by raising a ticket directly on our Support Portal. We would be happy to assist you!