TeamForge's native Webhooks-based Event Broker replaces EventQ as the default event broker to support TeamForge integration with TestLink. EventQ-based TeamForge—Testlink integration is no longer supported.

TestLink is a web-based Test Management system that supports all the various components and processes involved in a testing process. Using TestLink, you can create test specifications, execute test cases, create custom reports, generate test plan metrics and so on.

Before You Begin

Before you begin with the installation and the configuration of the TeamForge—TestLink integration plugin, generate the TeamForge Webhook URL by running the create_webhook_event.py script.

TeamForge—TestLink Integration Overview

The TestLink integration plugin, collabnet-testlink-1.0.4.tar, released with TeamForge 19.2, if installed and configured, can notify the native TeamForge Webhooks-based Event Broker about the test cases and the test execution results.

The TeamForge—TestLink integration plugin, collabnet-testlink-1.0.4.tar, works only with the TestLink versions 1.9.17–1.9.19.

For more information about the installation requirements for TeamForge—TestLink integration, see:

Contact CollabNet for support on TeamForge—Testlink integration. For TestLink support, contact TestLink directly. Click here for more information.

TeamForge 16.7 through TeamForge 19.1 support integration only with TestLink 1.9.15 and 1.9.16 using the collabnet-testlink-1.0.2.tar plugin.

TeamForge 19.2 supports integration with TestLink versions 1.9.17–1.9.19 using the collabnet-testlink-1.0.3.tar plugin.

TeamForge 19.3 supports integration with TestLink versions 1.9.17–1.9.19 using the collabnet-testlink-1.0.4.tar plugin.

If you are on earlier versions of TestLink, upgrade to one of the supported TestLink versions and integrate it with TeamForge. This integration does not provide backward compatibility (Data reliability and Migration) to older TeamForge—TestLink 1.9.11 integration that is based on TeamForge’s Integrated Application Framework (IAF).

By default, only TeamForge Site Administrators can create test suites. If you want other users to create test suites, you must create a site-wide role in TeamForge, grant “CREATE/VIEW” access to “All Projects” for the role and assign this role to users.

TeamForge 19.3 supports integration with TestLink 1.9.17–1.9.19 to track and synchronize requirement and defect tracker artifacts between these two systems.

The TeamForge—TestLink integration has two primary touch points:

  • Requirements (TeamForge) to Test Suites (TestLink)
  • Test Case Run Failures (TestLink) to Defects (TeamForge)

    TeamForge-TestLink Integration Workflow

Here is a sample workflow to illustrate these touch points:

  1. Map TeamForge and TestLink projects—The first step is to establish a project mapping between the intended TeamForge and TestLink projects. During mapping, in TestLink, you’ll be able to specify the TeamForge “Requirements” and “Defects” trackers for your project. These trackers will be used throughout the workflow.
  2. Create Requirements and Test Suites—When a requirement artifact is created in the TeamForge tracker specified in Step 1, you will be given the opportunity to create a matching “Test Suite” in TestLink straight from the artifact creation screen in TeamForge.

    TeamForge's Requirements Artifacts mapped with TestLink's Test Suites
  3. Populate Test Suite with Test Cases—Within TestLink, you can find and populate your Test Suite with Test Cases.
  4. Run Test Cases against Builds—Once the Test Cases have been defined, you can run them against desired builds, tracking results in TestLink. Test Case runs are associated to the build/binary being tested for traceability purposes.
  5. Create Defects for failed Test Case runs—If you encounter failing Test Case runs, you have the option to click a button inside TestLink to create a defect in TeamForge. This is a “push button” defect that opens a new TeamForge window pre-populated with Test Case run failure data. An association will be created between the failing Test Case run and the new Defect.

  6. Visualize Traceability—Once this cycle is complete, you can view the associations chain between Test Case runs and any associated defects, the Builds or Binaries they exercised, the Commits which originated the Build, and ultimately the Requirements that started it all.

Set up the TeamForge Application Server

Follow these instructions to install the TestLink integration plugin on the TeamForge 19.3 Application Server.

  1. Log on to the TeamForge Application Server.
  2. If you have been having TeamForge—TestLink integrated earlier, delete the existing plugin JAR file (for example collabnet-testlink-1.0.2.jar) post upgrade to TeamForge 19.3.
    1. Go to My Workspace > Admin.
    2. Select Projects > System Tools > Customizations.
    3. Select the TestLink plugin JAR file (for example, collabnet-testlink-1.0.2.jar).
    4. Click Delete. A confirmation message is displayed.
    5. Click OK.
  3. Download the collabnet-testlink-1.0.3.jar file.
  4. Go to My Workspace > Admin.
  5. Select Projects > System Tools > Customizations and click Create.
  6. Click Choose File and select the collabnet-testlink-1.0.3.jar file.
  7. Click Add.
  1. Log on to the TestLink Server.

  2. If you’ve been having TeamForge integrated with TestLink 1.9.16 or earlier:
    1. Upgrade your TestLink server to one of the supported TestLink versions 1.9.17–1.9.19. Follow the TestLink’s official upgrade procedure.

      Make sure that you have the following RPMs available during TestLink installation:

      php-xml
      php-mcrypt
      php-mbstring
      php-bcmath
    2. Remove the collabnet-testlink-1.0.3.tar file.
    3. Uninstall the existing TeamForge—TestLink integration plugin collabnet-testlink-1.0.3.tar.
      1. Delete the TeamForge project mapping.

        Before uninstalling the TeamForge—TestLink integration plugin, it is a best practice, but not mandatory, to delete the TeamForge project mapping in TestLink.

      2. Click TeamForge Setup.
      3. Click Delete. A confirmation message is displayed.
      4. Click OK. The TeamForge project mapping is deleted.
      5. Click the Plugins icon from the toolbar.
      6. Identify the TeamForge—TestLink integration plugin from the list of Installed Plugins and click Uninstall. For instance, if you had installed the integration plugin versio 1.0, uninstall it.

        The TeamForge—TestLink integration plugin is uninstalled.

  3. If you are installing TestLink for the first time, just download and install one of the supported TestLink versions 1.9.17–1.9.19 on the TestLink server.

  4. Download the collabnet-testlink-1.0.4.tar plugin file to the /tmp directory and untar the file to <testlink-installation-directory>/plugins directory.

    cd <testlink-installation-directory>/plugins/
    tar -xvf /tmp/collabnet-testlink-1.0.4.tar
    
  5. Log on to TestLink.

  6. Click the Plugins icon from the toolbar.

  7. Identify the TeamForge—TestLink integration plugin from the list of Availabe Plugins and click Install. The TeamForge—TestLink integration plugin is installed and shows up in the Installed Plugins section.

  8. Migrate the TestLink data from EventQ’s MongoDB database to TeamForge database if you have been using EventQ-based TeamForge—TestLink integration in TeamForge 19.1 or earlier. See Migrate TestLink Data. If not, proceed to the next step.

  9. Go to TestLink Home and click the TeamForge Webhook Setup link.

  10. Enter the Webhook URL and click Save.

  11. Click the Home icon from the toolbar.

  12. Create a TestLink project.
    1. Click Test Project Management and click Create.
    2. Define project attributes such as the name, description, project prefix and so on. Click Create.
  13. Go to the home page and click the TeamForge Setup link.

  14. Enter the TeamForge Project Home URL, Username, Password, Defect Tracker ID, Requirements Tracker ID and click Save.

    For more information on creating a TeamForge project and setting up trackers, see:

Migrate the TestLink Data from EventQ to TeamForge

If you have been using EventQ-based TeamForge—TestLink integration in TeamForge 19.1 or earlier, you must migrate the TestLink data from EventQ’s MongoDB database to TeamForge database post upgrade to TeamForge 19.3.

Before migrating the TestLink data from EventQ to TeamForge, create the config.properties file with the following tokens in the /tmp directory and keep it handy.

#Default Mongo DB host is "localhost"
MONGO_DB_HOST=localhost

#Default Mongo DB port is "27017"
MONGO_DB_PORT=27017

MONGO_DB_NAME=eventq
MONGO_DB_USERNAME=eventq

#Enter (y)es or (n)o for CTF_USES_ORACLE_DB
CTF_USES_ORACLE_DB=n

#If CTF_USES_ORACLE=(y)es, enter ORACLE_SID
ORACLE_SID=

CTF_HOST_NAME=<TeamForge host name or domain name>
CTF_PORT=5432

#If CTF_USES_ORACLE=(n)o, enter CTF_DB_NAME
CTF_DB_NAME=teamforge
CTF_DB_USERNAME=teamforge

To migrate the TestLink data:

  1. Extract the existing TestLink data from EventQ’s MongoDB database and generate an SQL file based on the TeamForge database you have (Postgres/Oracle).
  2. Execute the generated SQL file on the TeamForge database (Postgres/Oracle).
  1. Download the TestLink plugin testlink-1.0.jar.

  2. Run this command to execute the migration script.

     java -jar testlink-1.0.jar -m -f /tmp/config.properties
    
  3. Enter the MongoDB password and TeamForge database password, when prompted.

    The migration script is executed and generates the testlink_data_migration.sql file.

Execute the SQL File on the PostgreSQL/Oracle Database

  • To execute the SQL file on PostgreSQL Database:

    1. Log on to TeamForge Server.

    2. Run this command to import the migrated data.

      sudo /opt/collabnet/teamforge/runtime/scripts/psql-wrapper <filepath of `testlink_data_migration.sql`> 
      

      OR

      cat <filepath of `testlink_data_migration.sql`> | sudo /opt/collabnet/teamforge/runtime/scripts/psql-wrapper 
      
  • To execute the SQL file on Oracle Database:

    1. Log on to your Oracle database.

    2. Run this command to import the migrated data.

      @<filepath of `testlink-data-migration.sql`>
      

Post TestLink Data Migration Tasks

These tasks are required post migration of TestLink data from EventQ to TeamForge.

  • References to testlink-1.19.15/ can be seen in Defect Trackers of TeamForge. Run the following queries in TeamForge database to have all the testlink-1.19.15 references replaced by testlink-1.9.17.

    update field_value set value = regexp_replace(value, '(testlink-1.9.15/)','testlink-1.9.17/') where value like  '%testlink-1.9.15/';
    update custom_data set custom_data = regexp_replace(custom_data, '(testlink-1.9.15)', 'testlink-1.9.17') where custom_data like '%testlink-1.9.15%';
    
  • If the TestLink setup has Jenkins build, change the build number format from “BuildNumber” (supported in TestLink 1.9.16 or earlier) to “JobName:BuildNumber” (supported from TestLink 1.9.17) on the TestLink Home > Build & Releases page.