In this section:

Sending Test Data to Jama Connect

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

  1. Create requirements in Jama Connect that you can associate with tests executed by Parasoft tools. 
  2. In your test file, map the Jama Connect system requirement IDs to the tests using the following annotation format:

    * The following annotation maps the test to a requirement:
    * @req <Jama System Requirement ID> 
    @TEST
    ...

    • Use the @test <Jama Test ID> annotation to associate tests with test definitions in Jama. When using @test make sure that you have no test case steps defined in the tests whose run statuses you plan to send from Parasoft DTP to Jama. Parasoft DTP is not able to update test case runs for test cases which have steps defined.

    • Use the @req <Jama Story ID> annotation to associate tests with stories in Jama. When using @req make sure the following relation type is defined in the Jama project you plan to send results to: "verified by". Such relation is needed by Parasoft DTP when it creates a test case in Jama and relates it to requirement in Jama.

    Annotating tests links them to entities in Jama Connect so that they can be visualized in DTP reports. The annotation is added to the unit test file for Parasoft language tools (that is, C/C++test, dotTEST, Jtest). For functional tests executed with SOAtest, the annotation is added to the .tst file. Refer to your Parasoft tool documentation for details on adding annotations. You must use the ID from Jama Connect URL and not the ID generated in the UI:

      
  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 Jama Connect 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 Jama Connect. Pass the IDs for the DTP filter and build, as well as the ID for a set of Jama test cases, 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>&testCaseSetId=<JAMA_TEST_CASE_SET_ID>"

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

    The following table describes the endpoint parameters.

    Parameter

    Value

    Description

    Required

    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 Jama test.

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

    Default is false 

    Optional
    testCaseSetId
    ID of set of test cases

    Specifies the ID of a test case set in Jama where Parasoft DTP should create new test case definitions, if not found in Jama. When a test case definition is found in Jama, whether in this testCaseSetId or another, it is just updated and not moved to this specific test case set. 

    The value for the testCaseSetID parameter should be an ID for a "Set of Test Cases" item type in Jama. You must use the ID from Jama Connect URL and not the ID generated in the UI. You can get the ID from the URL after clicking on the test cases node in the project tree.

    Optional

    The set of test cases is the item where DTP can create new test cases as necessary. DTP will create new test cases when it sends results to Jama Connect if equivalent test cases do not exist, as described in the next step.  

  6. DTP will locate the test results that match the filterId and buildId parameters and send the data to the Jama Connect system requirements. 
    • When DTP locates results with an @req <ID>, it will search for a matching item in Jama Connect. If a match is found, test results will be added to the test cases associated with the item. If there are no test cases for the requirement ID, then test cases will be created and test runs will be added to them.
    • An external-app.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 Jama Connect. 

After DTP processes the report and sends results to Jama Connect, 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 Jama Connect 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 Jama Connect 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 Jama Connect 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 Jama Connect. 

Viewing Results in Jama Connect

You will be able to view results in Jama Connect after sending the test data. The following image shows a set of test cases containing several test cases in Jama Connect. 

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.

  • No labels