Problem
It is a common practice to have execution plans in a hierarchical structure that represents different testing areas or purposes.
In some cases, for example for knowing the test status and therefore the quality of an area or purpose, you will want to know
the overall passed, failed, and not executed count.
Solution
Use the data mart view
RV_ExecutionPlanStatusRollup to create a report that returns the passed, failed, and not executed counts grouped by build for a specific execution planning
folder.
SELECT BuildName, PassedCount, FailedCount, NotExecutedCount
FROM RV_ExecutionPlanStatusRollup
WHERE ExecutionFolderID = ${executionPlanID|43|Execution Plan ID}
The query does the following:
- Selects
BuildName and the status counts from the
RV_ExecutionPlanStatusRollup view.
- Specifies the top-level folder you want the status from (ExecutionFolderID).
The result of the SQL query shows the status of your test runs in all execution plans of the selected folder, aggregated per
build.
BuildName
|
PassedCount
|
FailedCount
|
NotExecutedCount
|
351
|
0
|
0
|
2
|
352
|
15
|
7
|
1
|
If you are interested in more details, for example the status counts for each execution plan within the selected hierarchy,
you can use the data mart view
RV_ExecutionPlanStatusPerBuild:
SELECT eps.BuildName, eps.ExecutionPlanID, SUM(eps.PassedCount) PassedCount,
SUM(eps.FailedCount) FailedCount, SUM(eps.NotExecutedCount) NotExecutedCount
FROM RV_ExecutionPlanStatusPerBuild eps
INNER JOIN TM_ExecTreePaths etp ON eps.ExecutionPlanID = etp.NodeID_pk_fk
WHERE etp.ParentNodeID_pk_fk = ${execFolderID|44|Execution Folder ID}
GROUP BY eps.ExecutionPlanID, eps.BuildOrderNumber, eps.BuildName
ORDER BY eps.BuildOrderNumber, eps.ExecutionPlanID
The query does the following:
- Uses the
RV_ExecutionPlanStatusPerBuild view to access execution-plan specific data (ExecutionPlanID and
ExecutionPlanName). The previously used
RV_ExecutionPlanStatusRollup view contains pre-aggregated data (summed up data), which is not suitable for the purpose here as you would get results not
only for execution plans but for the folder nodes as well.
- Selects all nodes within a specific folder with a
JOIN of the
TM_ExecTreePath table to bring in hierarchy information.
- Specifies the top-level folder with
ExecutionFolderID. As the table
TM_ExecutionTreePaths also contains a self-reference for every execution plan, you could run this query with an execution plan ID for
ParentNodeID_pk_fk too, which would return the rows for the specific execution plan.
- Adds
ORDER BY BuildOrderNumber and
ExecutionPlanID to get a nicely ordered result, showing the oldest builds and their execution plans first.
The result of the SQL query shows the status of your test runs in all execution plans of the selected folder.
BuildName
|
ExecutionPlanID
|
PassedCount
|
FailedCount
|
NotExecutedCount
|
351
|
2307
|
0
|
0
|
2
|
352
|
2184
|
11
|
2
|
0
|
352
|
2185
|
0
|
3
|
0
|
352
|
2186
|
2
|
1
|
0
|
352
|
2187
|
1
|
0
|
0
|
352
|
2191
|
0
|
1
|
0
|
352
|
2307
|
1
|
0
|
1
|