In this section:

Sending Test Data to Codebeamer

The following diagram shows how you could implement an automated infrastructure for integrating Parasoft DTP and Parasoft test execution tools into your Codebeamer ALM environment:

  1. Create items in Codebeamer trackers. The items will be associated with tests executed by Parasoft tools. You can create requirements (like items in a System Requirement Specifications tracker) or test cases (such as items in a Test Cases tracker), for example.
  2. In your test file, add the Codebeamer test case or requirement IDs using the @test or @req annotation. Refer to your Parasoft tool documentation for details on adding annotations.
    • Use the @test <Codebeamer test ID> annotation to associate tests with items in a Codebeamer Test Cases tracker.
    • Use the @req <Codebeamer System Requirements Specification ID> annotation to associate tests with items in a Codebeamer System Requirements Specifications tracker. Parasoft creates a Verifies relationship between a test case and requirement in Codebeamer, so make sure that the Verifies option is enabled for the specific test case and requirements trackers in your Codebeamer configuration.  
    • You can get the work item ID from various parts of the Codebeamer interface, such as the URL:
       
  3. Execute your tests as part of the CI process. You can also manually execute the tests from the IDE.
  4. As part of the test execution, Parasoft test execution tools will tag the results with the filter and build IDs and send the data to DTP. You can verify the results in DTP by adding Test Widgets to your DTP dashboard and setting the filter and build ID. Developers can download the test execution data from DTP into their IDEs so that they can address any failed tests.
  5. If you deployed the Sending Test Data to External System flow (see Deploying the Sending Test Data to External System Flow), then unit and functional testing results will automatically be sent to Codebeamer when Data Collector receives the data from the Parasoft tool. By default, the flow forwards unit and functional test results that were received by Data Collector for any project, but you can configure the flow to only send data for a specific project (see Sending Results from a Specific DTP Project). 
    You can also manually s
    end a POST request to the DTP REST API endpoint to send results from the DTP database to Codebeamer. Pass the DTP filter and build IDs as URL parameters in the API call:

    curl -X POST -u <username>:<password> "http://<host>:<port>/grs/api/v1.7/linkedApps/configurations/1/syncTestCases?filterId=<filterID>&buildId=<buildID>"

    The following table describes the endpoint parameters:

    ParameterValueDescriptionRequired
    filterId integerSpecifies the filter ID containing the test data. The filter ID is an integer value and should not be confused with the filter name.Required
    buildId stringSpecifies the build ID containing the test data.Required
    groupResultsBySOAtestTST 

    boolean

    Setting to true groups SOAtest results by .tst file. As a result, one .tst file will be associated with one Codebeamer test.

    Setting to false associates each test step within a SOAtest .tst with a Codebeamer test.

    Default is false 

    Optional

    The filter and build IDs are available in the Test Explorer URL:

     

  6. DTP will locate the test results that match the filterId and buildId parameters and send the data to the Codebeamer work items. 

    • When DTP locates results with an @test <ID>, it will search for items in Test Case trackers with a matching ID in Codebeamer and update the item. No action will be taken if the unit test case IDs do not exist in Codebeamer. Use the annotation to associate tests with test executions in Codebeamer, if necessary.
    • When DTP locates results with an @req <ID>, it will search for items in System Requirements Specifications trackers with a matching ID in Codebeamer. If a match is found, Test Runs will be added to the Test Case associated with the requirement. If there are no Test Cases for the requirement ID, then Test Case will be created and a Test Run will be added.
    • An external-app-sync.log file will also be written to the <DTP_INSTALL>/logs directory. This log file contains progress information about sending test results from DTP to Codebeamer. 

After DTP processes the report and sends results to Codebeamer, you should expect a response similar to the following:

{
   "createdTestSession": "DTPP-521",
    "created": [
        "DTPP-519, testName = testBagSumAdd"
    ],
    "updated": [
        "DTPP-519, testName = testBagSumAdd",
        "DTPP-518, testName = testBagSimpleAdd"
    ],
    "ignored": [
        "MAGD-567, testName = testBagNegate",
        "QAP-512, testName = testTryThis3",
        "QAP-512, testName = testTryThis4",
        "MAGD-567, testName = testBagMultiply"
    ]
}

Sending Results from a Specific DTP Project

If you are using the Sending Test Data to External System flow to forward unit and functional test results, data will be sent to Codebeamer for all DTP projects by default. As a result, work items will be updated to include the tests collected for any DTP project that contain annotations matching Codebeamer IDs. You can configure the flow, however, to only send data for a specific project. 

  1. Open Extension Designer and open the service where the Sending Test Data is deployed.
  2. Double-click the Toggle Projects Mode node and set the value from the dropdown to true. This toggles on the ability to only send data to specific projects.
  3. Click Done.
  4. Double-click the Configure Projects node. The logic in this node specifies which DTP projects should have their data sent to Azure DevOps during the sync operation. These project configurations are stored in a JSON array.
    There is a sample project configuration already defined as an example:

    { project: 'abc' }

    To add more project configurations, add a comma to the end of the last project configuration and add a new entry below it. For example:

    msg.configuredProjects = [
        { project: 'abc' },
        { project: 'foobar' }
    ];
  5. Once the desired projects have been configured, click Done.
  6. Click Deploy to update the flow with these changes.

When the flow executes, only test results for the specified DTP project will be sent to Codebeamer. 

Viewing Results in Codebeamer

You will be able to view results in Codebeamer after sending the test data. The following image shows a System Requirement Specifications tracker in Codebeamer. The tracker contains several test cases.

You can drill down into a test case to view details, such as test runs for the test case.

Click on a test run to view execution details, including test file, build ID, and test author.

 

  • No labels