ソフトウェア テスト メトリクス: 種類と例とは

⚡ スマートサマリー

ソフトウェアテストメトリクスは、テストプロセスの進捗状況、品質、生産性を定量的に測定する指標です。このガイドでは、3種類のメトリクス、基本値と計算値の区別、メトリクスのライフサイクル、そしてすぐに適用できる数式用語集について解説します。

  • 📐 主な目的: 指標は、テストの質に関する意見を、意思決定を裏付ける数値に変換するものです。
  • 🧱 XNUMX つのタイプ: プロセス指標はライフサイクルを改善し、製品指標はソフトウェアの品質を測定し、プロジェクト指標はチームの効率性を測定する。
  • 🔢 基本値と計算値の比較: 基本指標はアナリストが収集した生の数値であり、計算指標はそれらから導き出されたパーセンテージである。
  • 🔄 ライフサイクルの4つの段階: 分析、コミュニケーション、評価、報告。それぞれに明確な手順が定められている。
  • 🧮 計算式: 実行率とは、実行されたテストケース数を作成されたテストケース数で割って、100を掛けた値です。
  • ⚠️ 選択ルール: 指標を選択する前に、対象者と目標を明確に定義してください。そうしないと、誰も活用しないデータを収集することになります。

ソフトウェアテストのメトリクス

ソフトウェアテストの指標とは何ですか?

ソフトウェアテストのメトリクス ソフトウェア テスト プロセスの進捗状況、品質、生産性、健全性を推定するために使用される定量的な尺度です。 ソフトウェア テスト メトリクスの目標は、ソフトウェア テスト プロセスの効率と有効性を向上させ、テスト プロセスに関する信頼できるデータを提供することで、その後のテスト プロセスに対するより適切な意思決定を支援することです。

指標とは、システム、コンポーネント、またはプロセスが特定の属性をどの程度備えているかを定量的に表すものです。分かりやすい例としては、自動車の実際の週間の燃料消費量とメーカーが公表している数値との比較が挙げられます。

ソフトウェアテストにおけるテストメトリクス

ソフトウェア テストのメトリクス – ソフトウェア テスト プロセスの効率と有効性を向上させます。

ソフトウェア テスト メトリクスまたはソフトウェア テスト測定は、プロセスまたは製品の何らかの属性の範囲、容量、次元、量、またはサイズを定量的に示します。

ソフトウェアテスト測定例: 欠陥の総数

テスト指標が重要な理由とは?

「測定できないものは改善できない。」テスト指標は、テストプロセスを測定可能にするために存在する。

  • 次の活動段階は何をすべきか決定する
  • 品質に関する主張や予測の根拠となる証拠を提示する
  • どのような改善が必要かを特定する
  • プロセスまたは技術の変更を正当化する

詳細についてはこちらをご覧ください テスト指標の重要性

テスト指標の種類

テスト指標の種類

  • プロセスメトリクス: SDLC のプロセス効率を向上させるために使用できます (ソフトウェア開発ライフサイクル)
  • 製品メトリクス: ソフトウェア製品の品質を扱います
  • プロジェクトの指標: プロジェクト チームやその他の組織の効率を測定するために使用できます。 テストツール チームメンバーによって使用されている

多くの指標を収集することよりも、適切な指標を選択することの方が重要です。指標のセットを決定する前に、以下の点を考慮してください。

  • 指標準備の対象ユーザーを修正する
  • 指標の目標を定義する
  • プロジェクトのニーズに基づいて、関連するすべての指標を導入します
  • 各指標のコストとメリット、そしてそれが最も価値を発揮するプロジェクトライフサイクルフェーズを比較検討する。

手動テストの測定基準

In ソフトウエアエンジニアリング, 手動テストの指標は XNUMX つのクラスに分類されます。

  • 基本メトリクス
  • 計算されたメトリック

手動テストの測定基準

基本メトリクスは、テスト ケースの開発および実行中にテスト アナリストによって収集された生データです (実行されたテスト ケースの数、テスト ケースの数)。 一方、計算されたメトリクスは、基本メトリクスで収集されたデータから派生します。 計算されたメトリクスは、通常、テスト レポートの目的でテスト マネージャーによって追跡されます (完了率 (%)、テスト カバレッジ (%)).

プロジェクトやビジネスモデルによって異なりますが、最も重要な指標は通常以下のとおりです。

  • テストケース実行の生産性指標
  • テストケース準備の生産性指標
  • 欠陥メトリクス
  • 優先度別の欠陥
  • 重大度別の欠陥
  • 欠陥ずれ率

手動テストと自動テストの指標の比較

上記の指標は、手動で実行されるテストスイートを前提としています。自動化されたテストスイートは、実行にかかる労力が制約とならないため、測定方法が異なります。

基準 手動テストの指標 自動化テストの指標
主な焦点 努力と実行の進捗状況 カバー範囲、安定性、および実行時間
標準的な測定値 1日あたりのテストケース実行数 自動化の普及率
品質信号 検査時間あたりの発見欠陥数 不安定なテストの割合、不安定なテストの割合
コスト対策 テスターの勤務時間 リリースごとのスクリプト保守時間
速度測定 周期期間(日数) スイートの実行時間(分)
Automation Coverage = (Test cases automated / Total test cases) x 100

Flaky Test Rate = (Tests with inconsistent results / Total automated tests) x 100

テストの実施率が低い場合は特に注意が必要です。実施率が約5%を超えると、チームはテスト失敗(レッドビルド)を無視し始め、その時点でテストスイートはカバレッジの高さに関わらず情報を提供しなくなります。

ソフトウェアエンジニアリングにおけるテストメトリクスのライフサイクル

ソフトウェアエンジニアリングにおけるテストメトリクスのライフサイクル

メトリクスのライフサイクルのさまざまな段階 各ステージの手順
分析
  1. 指標の特定
  2. 特定された QA メトリクスを定義する
意思疎通をします
  1. 関係者とテストチームにメトリクスの必要性を説明する
  2. 指標を計算するためにどのデータポイントを取得する必要があるかをテストチームに説明する
評価
  1. データをキャプチャして検証する
  2. 取得したデータを使用してメトリクス値を計算する
外部リンク:レポート
  1. 効果的な結論を含むレポートを作成する
  2. レポートを利害関係者およびそれぞれの代表者に配布します。
  3. 関係者からのフィードバックを受け取る

テスト指標の計算方法

シニア# メトリクスをテストする手順 例:
1 キーを特定する ソフトウェアテスト 測定対象のプロセス テストの進捗状況 tracキングプロセス
2 このステップでは、テスターはデータをベースラインとして使用してメトリクスを定義します。 XNUMX 日あたりに実行される予定のテスト ケースの数
3 追跡すべき情報の決定、頻度 trac国王と責任者 XNUMX 日あたりの実際のテスト実行は、その日の終わりにテスト マネージャーによって記録されます。
4 定義された指標の効果的な計算、管理、解釈 XNUMX 日に実行される実際のテストケース
5 定義された指標の解釈に応じて改善の領域を特定する If テストケース 実行状況が合意された目標を下回った場合は、原因を調査し、是正措置を提案する。

テスト指標の計算例

実行されたテストケースの割合を例として考えてみましょう。実行状況をパーセンテージで表すには、次の式を使用します。

Percentage test cases executed= (No of test cases executed/ Total no of test cases written) X 100

250個のテストケースが作成され、175個が実行された場合、結果は(175 / 250) x 100 = 70パーセント.

他のすべての実行パラメータ(未実行、合格、失敗、ブロックされたテストケース)にも同様のパターンが適用されます。それぞれは、同じ分母に対する異なる分子にすぎません。

最も重要なテスト指標 Track

このチュートリアルの最後にある用語集には、よく使われるすべての数式が掲載されています。実際には、レポートに必要な数式は8つを超えることはほとんどありません。これらは、意思決定を左右する重要な数式です。

メトリック 答えは 気をつけて
テストケース実行率 計画していた走行コースのどのくらいまで進んだでしょうか? 品質については何も語っておらず、進歩についてのみ語っている。
欠陥密度 単位サイズあたりの欠陥数で考えると、どのモジュールが最も弱いのか? 一貫したサイズ測定に依存します
欠陥除去効率 リリース前に発見できた欠陥の割合はどれくらいだったでしょうか? 生産データが到着してから最終決定できます
欠陥漏洩 顧客に届いた不良品は何件でしたか? 最も重要な品質シグナル
テストカバレッジ 要件セットのうち、どの程度が実際に実施されているか? 根拠の薄い主張による過剰な報道は何の証明にもならない
欠陥重大度指数 開いている欠陥は深刻なものですか、それとも外観上のものですか? 重み付けをせずに欠陥数を数えることは誤解を招く
平均修復時間 チームはどれくらいの速さで問題を解決してくれるのか? いくつかの長期にわたる欠陥によって歪められている
テスト実行の生産性 テスターは1日に何件の案件を処理しますか? ターゲットとして使用すると浅いテストを助長する

経営陣がよく求める2つの公式を用語集に追加しておくと良いでしょう。

Defect Removal Efficiency = (Defects found before release / Total defects found) x 100

Defect Leakage = (Defects found in production / Defects found before release) x 100

測定の罠。 目標として使用される指標は、いずれ適切な指標ではなくなります。例えば、1日30件のテストケースという生産性目標を設定すれば、テスターは30件とも些細なテストケースを作成するでしょう。指標は単独で報告するのではなく、セットとして報告し、すべての生産性指標には品質指標を関連付けてください。

ソフトウェアテスト指標の計算式用語集

  • 手戻り工数の比率 = (そのフェーズで費やされた実際のリワーク工数/そのフェーズで費やされた実際の工数の合計) X 100
  • 要件クリープ = (追加された要件の総数/初期要件の数)X100
  • スケジュールの差異 = (実際の配達日 – 配達予定日)
  • テストで欠陥を見つけるコスト = (テストに費やした総労力/テストで見つかった欠陥)
  • スケジュールの遅れ = (実際の終了日 – 終了予定日) / (終了予定日 – 開始予定日) X 100
  • 合格したテストケースの割合 = (合格したテストの数/実行されたテストの総数) X 100
  • 失敗したテストケースの割合 = (失敗したテストの数/実行されたテストの総数) X 100
  • ブロックされたテストケースの割合 = (ブロックされたテストの数/実行されたテストの総数) X 100
  • 修正された欠陥の割合 = (修正された欠陥/報告された欠陥) X 100
  • 受け入れられた欠陥の割合 = (開発チームが有効と認めた欠陥数 / 報告された欠陥の総数) X 100
  • 欠陥の延期率 = (将来のリリースに延期された欠陥数 / 報告された欠陥の総数) X 100
  • 重大な欠陥の割合 = (重大な欠陥数 / 報告された欠陥の総数) X 100
  • 開発チームが欠陥を修復するのにかかる平均時間 = (バグ修正にかかった合計時間/バグの数)
  • 期間ごとに実行されるテストの数 = 実行されたテストの数/合計時間
  • テスト設計の効率化 = 設計されたテストの数 / 合計時間
  • テストレビューの効率化 = レビューされたテストの数 / 合計時間
  • バグ発見率または、テスト時間あたりの欠陥数 = 欠陥総数 / テスト時間総数

よくあるご質問

基本メトリクスとは、実行中に収集される生の数値であり、例えば、作成または実行されたテストケースの数などが含まれます。計算メトリクスは、これらの数値から導き出され、通常はパーセンテージとして表され、管理レポートに表示されます。

定期的な報告であれば、5~8項目が適切です。それ以上になると、行動よりもデータ収集に労力が費やされてしまいます。報告書に記載されるすべての指標は、実際に誰かが下す決定と結びついているべきです。

行動は測定方法に適応するため、1日あたりのテスト実行件数を目標にすると、テストケースの質が低下します。生産性指標は、欠陥漏洩などの品質指標と必ず組み合わせるようにしてください。

AIベースのツールは、カバレッジとリスクスコアを自動的に生成し、過去のデータからどのモジュールが最も欠陥が発生しやすいかを予測します。これにより、レポート作成は過去の活動をカウントすることから、欠陥が発生する可能性のある場所を予測することへと移行します。

はい。AIアシスタントは、生のテストデータから指標を算出し、リリース間の傾向を把握し、レポートの記述を作成できます。数値を配布する前に、必ずソースデータと照合して検証してください。