次の方法で共有


コード チャーンと実行範囲のパースペクティブを使用したコード チャーンとコード カバレッジの分析およびレポート

SQL Server 用の Visual Studio Team Foundation Server Analysis Services キューブからコード チャーン パースペクティブと実行範囲パースペクティブを使用することで、ソフトウェア品質を報告できます。 これらのパースペクティブを使用すると、コード行の変更に関連付けられたメジャー、ディメンション、属性と、ビルドおよびテストの実行でカバーされるコードの範囲の表示のみ行うことができます。

これらのパースペクティブは、ビルド、ビルド アセンブリまたはプラットフォーム、テストの実行、または変更セットのプロパティとしてコードの変更と範囲の報告に使用できるリレーショナル テーブルに基づいています。 詳細については、「コード チャーン テーブル」および「実行範囲テーブル」を参照してください。

"コード チャーン" メジャー グループ

コード チャーン パースペクティブを使用すると、次の事項を確認するレポートを作成できます。

  • 特定のビルドにおいて指定のファイル名拡張子を持つファイルがいくつ変更されたか。

  • 特定のビルドのソース ベースに何行のコードがあるか。

  • 送信された変更セットと各変更の詳細 (たとえば、変更を行った人、変更されたファイル、変更が行われた日付など)。

"コード カバレッジ" メジャー グループ

実行範囲パースペクティブを使用すると、次の事項を確認するレポートを作成できます。

  • テスト範囲が最も小さいアセンブリはどれか。

  • 最も多くのコードをカバーするテストの実行はどれか。

  • テスト範囲が最も広いのはどのアーキテクチャまたはビルドの種類か。

注意

Visual Studio アプリケーション ライフサイクル管理 (ALM) 用データ ウェアハウスで SQL Server Enterprise Edition を使用している場合は、キューブの一覧に Team System と一連のパースペクティブが含まれます。パースペクティブにより、対象を絞ったデータのビューが表示されるので、Team System キューブ全体ですべてのディメンションやメジャー グループをスクロールする必要はありません。

このトピックの内容

  • 例: コード チャーン レポート

  • コード チャーン メジャー

  • 実行範囲メジャー

  • フィルター処理と分類をサポートするコード チャーン パースペクティブのディメンションおよび属性

  • フィルター処理と分類をサポートする実行範囲パースペクティブのディメンションおよび属性

  • 必要なアクティビティ

例: コード チャーン レポート

Excel でピボットグラフ レポートを使用すると、次の図のレポートのような、一定期間におけるコード チャーンが表示される傾向レポートを作成できます。

コード チャーン レポート

Microsoft Solutions Framework (MSF) アジャイルおよび CMMI のプロセス テンプレートでは、Excel 形式のコード チャーン レポートが生成されます。 詳細については、「コード チャーン Excel レポート」を参照してください。

ピボット フィールドの選択とフィルター処理

コード チャーン レポートのピボット フィールド

次の手順を実行することにより、コード チャーン レポートを作成できます。

  1. Excel で、SQL Server の Visual Studio Team Foundation Server Analysis Services キューブに接続し、ピボットグラフ レポートを挿入します。

    詳細については、「Create Excel reports from a work item query」を参照してください。

  2. グラフを右クリックし、[グラフの種類の変更][面][積み上げ面] を選択します。

  3. 各レポート フィルターについて、次の各フィールドのショートカット メニューを開き、目的の階層、週、その他の要素を指定し、[レポート フィルター] 領域にフィールドをドラッグします。

    • [チーム プロジェクト] ディメンションの [チーム プロジェクト階層]

    • [作業項目] ディメンションの [作業項目.イテレーション階層]

    • [作業項目] ディメンションの [作業項目.区分階層]

    • [日付] ディメンションの [年週日]

  4. [日付] ディメンションで、[その他のフィールド] を展開し、生成するレポートの詳細レベルに応じて [日][週]、または [月] フィールドを [軸フィールド (項目)] 領域にドラッグします。

  5. [追加された行数][変更された行数][削除された行数] の各フィールドを [コード チャーン] メジャー グループから [値] 領域にドラッグします。 各フィールドを個別にドラッグする必要があります。

コード チャーン メジャー

コード チャーン メジャーは、プロジェクトで生じた変更を数値化します。 一般に、チャーンが高レベルであれば、そのプロジェクトが安定していないことを示します。 製品サイクルの開始時や、チームが多くの変更を実装した場合は、チャーンが高い値を示すことが予想されます。 イテレーションの終了に向けて、またはリリースまでには、チャーンのレベルは下がっていくことが予想されます。これは、プロジェクトが以前よりも安定してきていることを示します。

次の表は、[コード チャーン] メジャー グループに含まれるメジャーを示します。 これらの方法を使用して、Team Foundation バージョン管理 に格納されているファイルのバージョン数と変更されたコードの量を示すレポートを作成できます。 ファイル ディレクトリ、ビルド、または変更をチェックインしたチーム メンバーごとにメトリックを解析し、それらのメトリックがどのように変化するかを調べることができます。

ビルド用に収集できる同様のメトリックの詳細については、「ビルド パースペクティブを使用したビルド詳細とビルド カバレッジの分析およびレポート」を参照してください。

メジャー

説明

チャーン コード数

チームがバージョン管理されたファイルを変更した回数。

追加された行数

指定したディメンションのファイルにチームが追加したコードの行数。

削除された行数

指定したディメンションのファイルからチームが削除したコードの行数。

変更された行数

指定した期間にチームが変更したコードの行数。

コード チャーンの合計

コード チャーンの合計。[追加された行数] + [削除された行数] + [変更された行数] で計算されます。

合計行数

指定したファイル パス階層の一部に含まれる行数。 1 つ以上のビルドを指定して、この計算を実行するポイントを示す必要があります。 1 つ以上のビルドを指定しない場合、NULL が返されます。 この行数は、ビルドの種類とオペレーティング システムの特定の組み合わせに関係する行のうち、追加された行および削除された行を集計して計算されます。

ヒント

[合計行数] メジャーを使用すると、OLAP クエリがタイムアウトすることがあります。レポートのレンダリングに時間がかかりすぎる場合、変更セット、ビルド、テストの実行、または日付の範囲を狭めることを検討してください。

実行範囲メジャー

次の表は、[実行範囲] メジャー グループに含まれるメジャーを示します。 これらの方法を使用して、テストの実行においてテストがカバーする範囲を示すレポートを作成できます。 ビルド用に収集できる同様のメトリックの詳細については、「ビルド パースペクティブを使用したビルド詳細とビルド カバレッジの分析およびレポート」を参照してください。

メジャー

説明

実行カバレッジ

コード カバレッジ統計情報が関連付けられているテストの実行の数。

実行範囲のカバーされたブロック

実行におけるすべてのテストがカバーするブロックの数。 ただし、重複してテストされる場合があります。

実行範囲のカバーされないブロック

実行におけるどのテストにもカバーされないブロックの数。 ただし、重複してテストされる場合があります。

実行範囲のカバーされた行

実行におけるすべてのテストがカバーする行の数。 ただし、重複してテストされる場合があります。

実行範囲のカバーされない行

実行におけるどのテストにもカバーされない行の数。 ただし、重複してテストされる場合があります。

実行範囲の部分的にカバーされた行

実行におけるテストが部分的にカバーする行の数。 ただし、重複してテストされる場合があります。

フィルター処理と分類をサポートするコード チャーン パースペクティブのディメンションおよび属性

次の表は、コード チャーン パースペクティブに含まれるディメンションと属性を示します。 これらの属性は、「共有ディメンションの使用」で説明する [チーム プロジェクト] および [日付] 共有ディメンションを補完します。 これらの各属性と同時にメジャーを集計できます。

ディメンション

属性

説明

ビルド

ビルド定義名

実行されたビルドのビルド定義に割り当てられた名前。

ビルド ID

ビルドに割り当てられた番号。 特定のビルド定義が実行されるたびに、この属性は 1 ずつインクリメントされます。

ビルド名

ビルドを一意に識別する名前または式。 詳細については、「完了したビルドにわかりやすい名前を付けるためにビルド番号を使用」を参照してください。

ビルド開始時間

ビルドが開始された日時。

ビルドの種類

ビルドが実行された理由。 ビルドの種類は、ビルドに対して定義されたトリガーに関連付けられます。 Team Foundation Server でサポートしているビルドの種類は、手動、継続的 (チェックインごとにトリガーされます)、ロール (前のビルドが完了するまでチェックインを蓄積します)、ゲート チェックイン、およびスケジュールです。 詳細については、「ビルド トリガーと理由の指定」を参照してください。

格納場所

完成したビルドの URL (Uniform Resource Locator)。 URL は、Web ブラウザーがインターネット リソースを特定するためのプロトコルを指定します。 各 URL には、ビルドの詳細が存在するサーバーの名前が含まれています。 また、リソースへのパスを含めることもできます。

バージョン コントロール変更セット

変更セット ID

ファイルの変更セットを含んでいた変更セットに割り当てられる番号。

チェックインしたユーザー

変更セットをチェックインしたチーム メンバーのユーザー名です。

説明

変更セットに関連付けられるチェックイン コメント。

ポリシー オーバーライドのコメント

ポリシーをオーバーライドするときに提供されるコメント。 ポリシーがこの変更セットでオーバーライドされなかった場合、このフィールドは null です。

バージョン コントロール ファイル

バージョン管理ファイル.ファイル階層

ソース ファイルへの完全ネットワーク パスです。

バージョン管理ファイル.ファイル拡張子

ソース ファイルの名前の拡張子。

作業項目

作業項目の種類など

詳細については、「作業項目パースペクティブを使用した作業項目とテスト ケース データの分析およびレポート」を参照してください。

フィルター処理と分類をサポートする実行範囲パースペクティブのディメンションおよび属性

次の表は、実行範囲パースペクティブに含まれるディメンションと属性を示します。 これらの属性は、後述の「共有ディメンションの使用」で説明する [チーム プロジェクト] および [日付] 共有ディメンションを補完します。 これらの各属性と同時にメジャーを集計できます。

注意

[アセンブリ] または [ビルド フレーバー] の各属性を使用するには、テスト チームがこれらの属性を指定して、Team Foundation Server のデータ ストアにテスト結果を発行する必要があります。詳細については、このトピックで後述する「必要なアクティビティ」を参照してください。

ディメンション

属性

説明

Assembly

Assembly

(発行されたテスト結果のみ) ビルドの一部としてテストされたアプリケーションのコードの名前。 詳細については、「ビルド プロセスでのテストの実行」を参照してください。

ビルド

ビルド定義名

実行されたビルドのビルド定義に割り当てられた名前。

ビルド ID

ビルドに割り当てられた番号。 これが特定のビルド定義が実行されるたびに、ビルド ID は 1 ずつインクリメントされます。

ビルド名

ビルドを一意に識別する名前または式。 詳細については、「完了したビルドにわかりやすい名前を付けるためにビルド番号を使用」を参照してください。

ビルド開始時間

ビルドが開始された日時。

ビルドの種類

ビルドが実行された理由。 ビルドの種類は、ビルドに対して定義されたトリガーに関連付けられます。 Team Foundation Server でサポートしているビルドの種類は、手動、継続的 (チェックインごとにトリガーされます)、ロール (前のビルドが完了するまでチェックインを蓄積します)、ゲート チェックイン、およびスケジュールです。 詳細については、「ビルド トリガーと理由の指定」を参照してください。

格納場所

完成したビルドの URL (Uniform Resource Locator)。 URL は、Web ブラウザーがインターネット リソースを特定するためのプロトコルを指定します。 URL には、リソースが存在するサーバーの名前も含まれています。 また、リソースへのパスを指定することもできます。

ビルド フレーバー

ビルド フレーバー

(発行されたテスト結果のみ) テスト実行の一環として発行された完了済みビルドに割り当てられたカテゴリを示す名前。 たとえば、ビルド フレーバーを使用して、ベータ リリースや最終リリースを示すことができます。

ビルド プラットフォーム

ビルド プラットフォーム

(発行されたテスト結果のみ) エンド ツー エンド (デスクトップではなく) のビルドが作成され、テストの実行の一部として発行されたコンピューター プラットフォームの名前 ("x86""Any CPU" など)。 この属性を使用するレポートの例については、「ビルドの概要レポート」を参照してください。

テストの実行

月別または週別の完了日階層

月別または週別の作成日階層

テストの実行が作成および完了した日に基づく日付ディメンション。 詳細については、「Analysis Services キューブでの共有ディメンション」を参照してください。

必要なアクティビティ

チーム メンバーがコード チャーンおよびコード カバレッジ データを含むレポートを作成するには、次のトピックの情報を確認する必要があります。

参照

概念

コード チャーン Excel レポート

コード カバレッジ Excel レポート

コード チャーン テーブル

実行範囲テーブル

Visual Studio の Analysis Services キューブで用意されているパースペクティブとメジャー グループ