メトリクス
ソフトウェアテストで利用するメトリクスとは、テストプロセスの進捗などを測定していくための数値です。
テストで必要なメトリクスは、分析・レポート・テストコントロールで利用します。
メトリクスの測定手順は以下です。
目標設定
測定するメトリクスの目標値を設定します。
データ収集
テストプロセス中に必要なデータを収集します。
データ分析
収集したデータを分析し、メトリクスの値を計算します。
レポート作成
分析結果をレポートにまとめ、結果を可視化します。
改善提案
メトリクスの結果を基に、テストプロセスの改善提案を行います。
テストの進捗がメトリクスから遅延していると判断した場合、リソースの追加やリリース日の延期やテスト終了基準の緩和などのテストコントロールが必要です。
テストメトリクスは以下のカテゴリに分類されます。
-
プロジェクトメトリクス
テスト進捗を測定(実行済み、合格、不合格のテストケースの割合など、プロジェクト終了基準) テストマネージャーが重要視するメトリクス
-
プロダクトメトリクス
テスト範囲、欠陥密度など、プロダクトの属性を測定
-
プロセスメトリクス
テストで検出された欠陥の割合など、テストプロセスや開発プロセスの能力を測定
-
人的メトリクス
指定されたスケジュールでのテストケースの実施など、個人やグループの能力を測定
テストメトリクスは少なくても多くても良いわけではなく、必要なものを取得して不要なものは取得しないことが大切です。
テストマネージャがテストメトリクスを取得するときに考慮すべきことを以下に記載します。
- 有用なメトリクスに限定して使用し、すべてのステークホルダーから合意を得ること
- メトリクスを追跡し、逸脱する場合はその理由を入念に分析すること
- メトリクスを速やかに理解できる情報としてレポートすること
- データを提示する前に、正確性とデータから読み取れるメッセージを確認すること
テスト進捗のモニタリングには以下があります。
-
プロダクト品質リスク
テストが合格して対応されたリスクの割合
テストが不合格となるリスクの割合
テストが未完了となるリスクの割合
リスクカテゴリで分類して対応されたリスクの割合
リスク分析で識別したリスクの割合 -
欠陥
欠陥総数と解決済み欠陥数の比率
平均故障間隔と故障率
分類ごとの欠陥件数または割合
欠陥のレポートから解決までの時間
新たな欠陥の修正件数 -
テスト
テストケース数 回帰テスト・確認テストのステータス
計画したテスト時間と実施のテスト時間の比率
テストチームがテスト環境を使用できる計画と実際の時間の割合 -
カバレッジ
要件・設計要素のカバレッジ
リスクのカバレッジ
環境・構成のカバレッジ
コードカバレッジ -
確信度合
カバレッジを代替メトリックとして使用したり、主観的な報告になる場合がある
テストプロセス毎で必要なメトリクスを以下に記載します。
-
テスト計画
リスク、要件、テストベース要素のカバレッジ
欠陥検出
テストウェアの開発とテストケース実行に関する予実時間 -
テスト分析
識別されたテスト条件の数
テスト分析時に検出した欠陥の数 -
テスト設計
テストケースによりテスト条件を網羅している割合
テスト設計時に検出した欠陥の数 -
テスト実装
構築済みのテスト環境の割合
ロードしたテストデータレコードの割合
自動化したテストケースの割合 -
テスト実行
計画したテストケースにおける実行・合格・不合格の割合
実行または合格したテストケースにより網羅したテスト条件の割合
レポートまたは解決した欠陥数の予実と達成したカバレッジの計画と実数の比 -
テストの進捗および完了
計画したテスト条件、テストケース、テスト仕様の数
結果を合否別に分類した数
発生した欠陥総数を分類した数
変更の発生、受入、ビルド済み、テスト済みの数
計画上のコストと実際のコストとの比率
計画上の期間と実際の期間との比率
マイルストンの計画した日数と実際の日数
プロダクトリスクのステータス・軽減したのもの比率
不要になったテスト活動のコスト・時間の割合
確認テストと回帰テストのステータス -
テストの終了活動(テストの評価や終了レポートなどで使用)
実施したテストケース
合格したテストケース
不合格となったテストケース
ブロックしたテストケース
スキップしたテストケース
再利用可能なテストケースの比率
自動化したテストケースの割合
回帰テストに統合したテストケースの割合
解決済みの欠陥レポートと未解決の欠陥レポートの割合
テスト成果物で保管した割合