Preconditions

In order to use this report, it assumes that you have already some requirements in your SpiraPlan product:

It also assumes you have some risks in your SpiraPlan product:

It also requires that you have some test cases in your product:

and that those are also mapped to the requirements:

and finally, that you have mapped some of the requirements to risks (and/or vice-versa):

Creating the Custom Report

With the necessary data in place, simply create a new custom report, choosing the following options:

  • Name: Test Case - Risk Traceability Matrix
  • Category: Test Cases
  • Format(s):
    • HTML
    • Excel (printable)
    • Word (current)
    • PDF

Then add a custom section to this report, with the following query and template:

Report Query

(select TC.TEST_CASE_ID, TC.NAME as TEST_CASE_NAME, RK.RISK_ID, RK.NAME as RISK_NAME, RK.RISK_IMPACT_NAME, RK.RISK_PROBABILITY_NAME, RK.RISK_EXPOSURE
from SpiraTestEntities.R_TestCases as TC
left join SpiraTestEntities.R_RequirementTestCases as RT on TC.TEST_CASE_ID = RT.TEST_CASE_ID
left join SpiraTestEntities.R_ArtifactAssociations as AA on RT.REQUIREMENT_ID = AA.SOURCE_ARTIFACT_ID and AA.SOURCE_ARTIFACT_TYPE_ID = 1
left join SpiraTestEntities.R_Risks as RK on AA.DEST_ARTIFACT_ID = RK.RISK_ID and AA.DEST_ARTIFACT_TYPE_ID = 14
where TC.PROJECT_ID = ${ProjectId}
and TC.IS_DELETED = false)
union
(select TC.TEST_CASE_ID, TC.NAME as TEST_CASE_NAME, RK.RISK_ID, RK.NAME as RISK_NAME, RK.RISK_IMPACT_NAME, RK.RISK_PROBABILITY_NAME, RK.RISK_EXPOSURE
from SpiraTestEntities.R_TestCases as TC
left join SpiraTestEntities.R_RequirementTestCases as RT on TC.TEST_CASE_ID = RT.TEST_CASE_ID
left join SpiraTestEntities.R_ArtifactAssociations as AA on RT.REQUIREMENT_ID = AA.DEST_ARTIFACT_ID and AA.DEST_ARTIFACT_TYPE_ID = 1
left join SpiraTestEntities.R_Risks as RK on AA.SOURCE_ARTIFACT_ID = RK.RISK_ID and AA.SOURCE_ARTIFACT_TYPE_ID = 14
where TC.PROJECT_ID = ${ProjectId}
and TC.IS_DELETED = false)

Report Template

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
  <xsl:template match="/RESULTS">
    <table class="DataGrid"><tr><th>Test Case ID</th><th>Test Case Name</th><th>Risk ID</th><th>Risk Name</th><th>Risk Impact</th><th>Risk Probability</th><th>Risk Exposure</th></tr>
      <xsl:for-each select="ROW">
        <tr><td>TC:<xsl:value-of select="TEST_CASE_ID"/></td><td><xsl:value-of select="TEST_CASE_NAME"/></td><td>RK:<xsl:value-of select="RISK_ID"/></td><td><xsl:value-of select="RISK_NAME"/></td><td><xsl:value-of select="RISK_IMPACT_NAME"/></td><td><xsl:value-of select="RISK_PROBABILITY_NAME"/></td><td><xsl:value-of select="RISK_EXPOSURE"/></td>
        </tr>
      </xsl:for-each>
        </table>
    </xsl:template>
</xsl:stylesheet>

Click Save on the popup, and Save on the main report page. The report is now ready to use.

Running the Report

Now that you have created the report, go to the main Reports tab and choose to run the report in one of the supported formats. You will now see the following:

Test Case IDTest Case NameRisk IDRisk NameRisk ImpactRisk ProbabilityRisk Exposure
TC:2Ability to create new book2RK:    
TC:2Ability to create new book2RK:4The book pages may not be easy enough to useMarginalPossible6
TC:2Ability to create new book2RK:6The client team may not be ready for UATCriticalRare3
TC:3Ability to edit existing bookRK:    
TC:3Ability to edit existing bookRK:1The v1.1 release may not be ready in timeCriticalCertain15
TC:3Ability to edit existing bookRK:5The software licenses may be too expensiveMarginalUnlikely4
TC:4Ability to create new authorRK:    
TC:4Ability to create new authorRK:3The database may not support the volumeCriticalUnlikely6
TC:5Ability to edit existing authorRK:    
TC:6Ability to reassign book to different authorRK:    
TC:6Ability to reassign book to different authorRK:3The database may not support the volumeCriticalUnlikely6
TC:8Book managementRK:    
TC:8Book managementRK:1The v1.1 release may not be ready in timeCriticalCertain15
TC:8Book managementRK:3The database may not support the volumeCriticalUnlikely6
TC:8Book managementRK:4The book pages may not be easy enough to useMarginalPossible6
TC:8Book managementRK:5The software licenses may be too expensiveMarginalUnlikely4
TC:8Book managementRK:6The client team may not be ready for UATCriticalRare3

which will render something like: