eazyBI for XRAY for Jira: Bugs found in Test plans

At our organization, we manage a sophisticated system, which often involves utilizing multiple Test Plans (XRAY issue type) for a single version.

Our QA managers require visibility into all bugs associated with each Test Plan. The reason being the ability to compare regressions tests run over time and see if the bugs number increases or not.

I would like to address a specific challenge we encounter: XRAY for Jira employs certain Jira properties, such as issue types, but it also relies on internal properties. One key internal property is the link between test plans and defects, which is not visible within Jira's standard interface. Fortunately, eazyBI can identify these links. However, this requires the inclusion of Test Executions (TE) in the report, as the TEs contain the data related to defects.

This solution was also published here. In this example you can see the test executions status. I didn't use it in my report since it is less relevant for us.

Also you can remove the TEs from the Rows and it will still work.

I also added a few calculated measures with defects characteristics:

Defect Severity
[Severity].[Severity].getMemberNameByKey(
  [Xray Defect].CurrentHierarchyMember.get('Severity')
)

and

Defect Issue Type
[Issue Type].[Issue Type].getMemberNameByKey(
  [Xray Defect].CurrentHierarchyMember.get('Issue type ID')
)

While also using built-in measures: Xray Defect status and Xray Tests defect count.

FYI: Defect count can be more that 1 as it can be linked to a few test runs.

I used  Cell formatting to distinguish our bugs issue type: NI Bug Reports. See
'Pic 1: conditional formatting' below.

 

The report:

 


 

 

This is the report definition.

Please notice you might want to change the Jira project from XtremeQA to the one you use for XRAY and also the test plans issue IDs.

Remember to import all the linked defects to the eazyBI account, otherwise you will see the defect numers per TE, but they will be marked as Unknown without the characteristics as Severity.

I used column filters to remove unwanted resolutions (as Rejects) and to see Test Plans and TE only where there are defects.

I added Display names to the rows. See 'Pic 2: display name' below.


{
  "cube_name": "Issues",
  "cube_reports": [ {
     "name": "Bugs per Test Plan/Executions",
     "result_view": "table",
     "definition": {"columns":{"dimensions":[{"name":"Measures","selected_set":["[Measures].[Xray Tests defect count]","[Measures].[Defect Severity]","[Measures].[Xray Defect status]","[Measures].[Defect Issue Type]"],"members":[{"depth":0,"full_name":"[Measures].[Defect Issue Type]","format_string":"","report_specific":true,"name":"Defect Issue Type","calculated":true}]}]},"rows":{"dimensions":[{"name":"Xray Test Plan","selected_set":["[Xray Test Plan].[XtremeQA].[XA-54313]","[Xray Test Plan].[XtremeQA].[XA-54314]","[Xray Test Plan].[XtremeQA].[XA-54315]","[Xray Test Plan].[XtremeQA].[XA-54316]","[Xray Test Plan].[XtremeQA].[XA-54317]","[Xray Test Plan].[XtremeQA].[XA-54318]","[Xray Test Plan].[XtremeQA].[XA-54319]","[Xray Test Plan].[XtremeQA].[XA-54320]","[Xray Test Plan].[XtremeQA].[XA-54321]","[Xray Test Plan].[XtremeQA].[XA-54322]"],"members":[],"bookmarked_members":[]},{"name":"Xray Test Execution","selected_set":["[Xray Test Execution].[Execution].Members"],"members":[],"bookmarked_members":[]},{"name":"Xray Defect","selected_set":["[Xray Defect].[Defect].Members"],"members":[],"bookmarked_members":[]}],"filter_by":{"conditions":[{"expression":["[Measures].[Xray Tests defect count]"],"operator":"\u003c\u003e","value":"0"},{"expression":["[Measures].[Defect Resolution]"],"operator":"not matches","value":"Rejected"}]},"nonempty_crossjoin":true},"pages":{"dimensions":[{"name":"Xray Test Plan","duplicate":true,"selected_set":["[Xray Test Plan].[All Xray Test Plans]"],"members":[{"depth":0,"name":"All Xray Test Plans","full_name":"[Xray Test Plan].[All Xray Test Plans]","drillable":true,"type":"all","expanded":true,"drilled_into":false},{"depth":1,"name":"XtremeQA","full_name":"[Xray Test Plan].[XtremeQA]","drillable":true,"key":"XA","expanded":true,"drilled_into":false,"parent_full_name":"[Xray Test Plan].[All Xray Test Plans]"},{"depth":2,"name":"XA-54313","full_name":"[Xray Test Plan].[XtremeQA].[XA-54313]","key":"XA-54313","parent_full_name":"[Xray Test Plan].[XtremeQA]"},{"depth":2,"name":"XA-54314","full_name":"[Xray Test Plan].[XtremeQA].[XA-54314]","key":"XA-54314","parent_full_name":"[Xray Test Plan].[XtremeQA]"},{"depth":2,"name":"XA-54315","full_name":"[Xray Test Plan].[XtremeQA].[XA-54315]","key":"XA-54315","parent_full_name":"[Xray Test Plan].[XtremeQA]"},{"depth":2,"name":"XA-54316","full_name":"[Xray Test Plan].[XtremeQA].[XA-54316]","key":"XA-54316","parent_full_name":"[Xray Test Plan].[XtremeQA]"},{"depth":2,"name":"XA-54317","full_name":"[Xray Test Plan].[XtremeQA].[XA-54317]","key":"XA-54317","parent_full_name":"[Xray Test Plan].[XtremeQA]"},{"depth":2,"name":"XA-54318","full_name":"[Xray Test Plan].[XtremeQA].[XA-54318]","key":"XA-54318","parent_full_name":"[Xray Test Plan].[XtremeQA]"},{"depth":2,"name":"XA-54319","full_name":"[Xray Test Plan].[XtremeQA].[XA-54319]","key":"XA-54319","parent_full_name":"[Xray Test Plan].[XtremeQA]"},{"depth":2,"name":"XA-54320","full_name":"[Xray Test Plan].[XtremeQA].[XA-54320]","key":"XA-54320","parent_full_name":"[Xray Test Plan].[XtremeQA]"},{"depth":2,"name":"XA-54321","full_name":"[Xray Test Plan].[XtremeQA].[XA-54321]","key":"XA-54321","parent_full_name":"[Xray Test Plan].[XtremeQA]"},{"depth":2,"name":"XA-54322","full_name":"[Xray Test Plan].[XtremeQA].[XA-54322]","key":"XA-54322","parent_full_name":"[Xray Test Plan].[XtremeQA]"}],"bookmarked_members":[],"current_page_members":["[Xray Test Plan].[XtremeQA].[XA-54313]","[Xray Test Plan].[XtremeQA].[XA-54314]","[Xray Test Plan].[XtremeQA].[XA-54315]","[Xray Test Plan].[XtremeQA].[XA-54316]","[Xray Test Plan].[XtremeQA].[XA-54317]","[Xray Test Plan].[XtremeQA].[XA-54318]","[Xray Test Plan].[XtremeQA].[XA-54319]","[Xray Test Plan].[XtremeQA].[XA-54320]","[Xray Test Plan].[XtremeQA].[XA-54321]","[Xray Test Plan].[XtremeQA].[XA-54322]"]}]},"options":{},"view":{"current":"table","maximized":false,"table":{"row_dimension_headers":{"Xray Defect":true,"Xray Test Execution":true,"Xray Test Plan":true},"cell_formatting":{"[Measures].[Defect Issue Type]":{"type":"exact_value","rules":[{"exact_value":"NI Bug Report","text_color":"#D4153B"}]}}}},"calculated_members":[],"description":"Rejected are filtered out."}
  } ],
  "calculated_members": [{"dimension":"Measures","name":"Xray Defect status","format_string":"","formula":"[Status].[Status].getMemberNameByKey(\n  [Xray Defect].CurrentHierarchyMember.get('Status ID')\n)"},{"name":"Defect Severity","dimension":"Measures","formula":"[Severity].[Severity].getMemberNameByKey(\n  [Xray Defect].CurrentHierarchyMember.get('Severity')\n)","format_string":""},{"name":"Defect Resolution","dimension":"Measures","formula":"[Resolution].[Resolution].getMemberNameByKey(\n  [Xray Defect].CurrentHierarchyMember.get('Resolution ID')\n)","format_string":""},{"name":"Defect Issue Type","dimension":"Measures","formula":"[Issue Type].[Issue Type].getMemberNameByKey(\n  [Xray Defect].CurrentHierarchyMember.get('Issue type ID')\n)","format_string":""}]

Pic 1: conditional formatting







Pic 2: display name




Comments