実行ツリーのステータス

問題

一般的に、実行計画はさまざまなテスト領域や目的を表す階層構造になります。テスト ステータス、さらに領域や目的の品質を知るために、合格、失敗、未実行の全体の数を知りたい場合があります。

解決策

指定した実行計画フォルダに対してビルドで分類した合格、失敗、未実行の数を返すレポートを作成するために、RV_ExecutionPlanStatusRollup データマート ビューを使用します。

SELECT BuildName, PassedCount, FailedCount, NotExecutedCount
FROM RV_ExecutionPlanStatusRollup
WHERE ExecutionFolderID = ${executionPlanID|43|Execution Plan ID}
クエリは次の動作を行います。
  • BuildName を選択し、ステータスを RV_ExecutionPlanStatusRollup ビューから計算します。
  • ステータスを取得したいトップ レベルのフォルダを指定します (ExecutionFolderID)。
SQL クエリの結果は、ビルドごとに集約され、選択したフォルダのすべての実行計画のテスト実行のステータスを表示します。
BuildName PassedCount FailedCount NotExecutedCount
351 0 0 2
352 15 7 1
選択した階層内の各実行計画に対するステータスの数のように、より詳細について知りたい場合は、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
クエリは次の動作を行います。
  • RV_ExecutionPlanStatusPerBuild ビューを使用して、実行計画固有のデータにアクセスします (ExecutionPlanID および ExecutionPlanName)。実行計画だけでなく、フォルダ ノードに対する結果も取得する必要があるため、前で使用した RV_ExecutionPlanStatusRollup ビューは、あらかじめ集計済みのデータ (合計したデータ) を含んでおり、ここでの目的には適していません。
  • 階層情報を取り入れるため、JOIN テーブルの TM_ExecTreePath を使用して指定したフォルダ内のすべてのノードを選択します。
  • ExecutionFolderID を使ってトップ レベルのフォルダを指定します。テーブル TM_ExecutionTreePaths もすべての実行計画に対する自己参照を含んでいるため、ParentNodeID_pk_fk に対する実行計画 ID を使ってこのクエリを実行することもできます。
  • ORDER BY BuildOrderNumberExecutionPlanID を追加して、古いビルドとその実行計画を最初に表示するように結果を分かりやすく並べ替えます。
SQL クエリの結果は、選択したフォルダのすべての実行計画のテスト実行のステータスを表示します。
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