自動化ROI
このトピックでは、自動化の付加価値、この値を測定する方法 (自動化ROI)、および自動化の有効性を追跡する方法について説明します。
自動化ROI分析の利点
ソフトウェア開発会社は自動テストの必要性を認めていますが、それは高コストであると認識しています。自動化を設定するには、人手時間と、場合によってはソフトウェアツールの取得が必要です。企業は、自動化への投資の結果を示し、より多くのリソースを投資するのに最も価値のある領域を決定する方法を提供できるツールを必要としています。
特定の領域で自動化を実装すると、次のようないくつかの側面を通じて改善が見られることが期待されます。
- 開発サイクルの短縮
- リグレッションサイクル時間を短縮することによるリグレッションコストの削減
- 繰り返し手動テストを実行する必要がなくなるため、QA効率が向上します
- リスクレベルを下げ、システムの安定性を向上させます
上記の側面に加えて、自動化のROIの主な利点の1つは、不具合の早期発見です。自動パイプラインの一部であるテストは、手動テストや実稼働テストよりも早い段階で不具合を検出できます。不具合が早期に検出されるほど、開発コストが低くなり、自動化の投資収益率 (ROI) が向上します。
自動化ROI分析を使用すると、最高のROIを取得するためにどの分野に投資する必要があるか、およびその有効性をどのように判断できるかを理解することもできます。
自動化ROIを測定するにはどうすればよいですか?
テスト自動化のROIを理解するために、自動化の目的を調べてみましょう。
- スプリントまたはリリースごとにこれらのテストを手動で繰り返し実行する手間を省くために、手動リグレッションテストを自動化する
- ソフトウェアバージョンをより速く、より頻繁にリリースする
- ソフトウェア開発ライフサイクルの早い段階で不具合を検出する
- カバレッジを拡大し、その結果、リスクレベルと不具合の漏洩を減らします
ALM Octaneのウィジェットと洞察グラフは、自動化のROIを決定するのに役立つこれらの目的に対応しています。ROIトレンド分析は、測定することで自動化ROIを反映します
- 自動化への投資とリリース速度
- リグレッションの節約 (手動テストよりも人員の日数を節約)
- 不具合コスト
- エスケープされた不具合
エリアごとの自動化カバレッジを計算するにはどうすればよいですか?
ウィジェット構成を使用すると、製品の特定の領域を選択し、この計算に含める手動テストと自動テストの両方のフィルターを定義できます。
自動化カバレッジを計算するために、ALM Octaneは、次の式を使用して、リリースまたはスプリントごとの自動化カバレッジのパーセンテージの増加/減少を示します。
自動化ROIウィジェット
自動化ROIウィジェットは、ROIの決定に役立ついくつかのメトリック (開発速度、リグレッションコスト、不具合コスト、および回避された不具合) を含むグラフを提供します。これらのメトリックは、特定のリリースまたはスプリントの1回限りのスコアとして機能することを意図したものではなく、時間の経過に伴う不具合のコストを追跡することにより、改善の傾向 (ROI) を反映します。
開発サイクル時間メトリック
優れた自動化は、開発速度の向上に役立つはずです。これは、次のようないくつかの領域で現れます。
- より速いテストサイクル
- 不具合の即時検出
- 不具合再開率が低い
自動化ROIウィジェットは、フィーチャーのサイクル時間を測定し、フィルターで定義されている場合はアプリケーションモジュールごとに、開発速度の傾向を示します。
リグレッションコストメトリック
自動化に投資することで、手動リグレッションテストの繰り返し実行を減らし、QAが他の重要なタスクに集中できるようにすることでテスト戦略を改善できます。
リグレッションコストメトリックは、現在のリリースのこの領域の自動化カバレッジと比較した、リリースごとに実行された手動実行の数を示します。
不具合コストメトリック
自動化によって早期に検出された不具合 (低コストの不具合) と手動実行後に送信された不具合 (高コストの不具合) の数を比較することにより、次の要因を調べることで不具合のコストを判断できます。このメトリックは、ALM Octane分析を使用して計算されます。
- 自動化によって検出された不具合
- 自動化中に検出されたコードの問題。この値は、不具合が開かれなかったコードの問題を反映しています。この指標の値が高い場合、サイクル時間に大きな影響を与える可能性があります。
- 手動実行で検出された不具合
- 検出時間が長い不具合の割合
エスケープされた不具合メトリック
エスケープされた不具合メトリックは、テストアクティビティで見逃された不具合の数を反映します。また、本番環境に到達するエスケープされた不具合の数を減らしたときに、テスト戦略が改善されているかどうかも示します。また、たとえば、不具合が検出された環境によって、エスケープされた不具合を追跡する方法を設定することもできます。
サンプル自動化ROIグラフ
自動化ROIグラフを使用すると、ROIに影響を与える傾向を確認できます。
x軸は、リリースやスプリントなど、選択された時間枠です。
y軸は、最初に選択されたリリース/時間枠と比較した、リリース内の自動テストの変化率を表します。これにより、テストの自動化を開始してからの投資と価値を確認できます。
カバレッジバーは、テストの総数のうち自動テストの数を示します。
次の例では、自動テストの割合が増えるにつれて、主要な指標が改善されました。
ツールチップに表示される変更のパーセンテージは、ベースポイントからのリリースを比較します。これは、主要なインジケーターの値がゼロ以外の最初のリリースです。
ROIインサイトと、データをさらにドリルダウンする方法については、自動化ROIインサイトを参照してください。
次のメトリックは、それ以降のリリースで改善が見られました。
- 開発サイクル時間。自動化が進むにつれて、開発サイクル時間が改善されました。問題が早期に検出されたため、フィーチャーは短時間で閉じられました。この例に示すように、リリースにカーソルを合わせると、実際の開発日数が表示されます。
- リグレッションコスト。自動化が進むにつれて、リグレッションコストは減少しました。このメトリックは、リリースごとに実行された (手動テストフィルターに基づく) 手動実行の数を示します。この例に示すように、リリースにカーソルを合わせると、実際の手動実行数が表示されます。
- 不具合コスト。自動化が進むにつれて、不具合がより早い段階で検出されたため、不具合コストは減少しました。
- エスケープされた不具合。自動化が進むにつれて、回避された不具合の数が減少しました。
スコープの設定
ダッシュボードにROIグラフを表示するには、ウィジェットギャラリーから自動化ROIウィジェットを選択します。グラフをカスタマイズするには、縦の省略記号をクリックして、設定を選択します。
一般スコープ領域で、計算に含めるアプリケーションモジュール、パイプライン、およびリリースやスプリントなどの時間枠を指定します。
テスト定義領域に、自動化の候補となるリグレッションテストを含める必要があります。受け入れテストはこの計算に主に関連していないため、受け入れテストを含めないことをお勧めします。
たとえば、次のフィルターを適用できます。
- 自動テスト: テストレベルにシステムテストおよび機能テストレベルを含めますが、ユニットテストは除外します。
- 手動テスト: テストタイプをエンドツーエンド、サニティ、およびリグレッションに設定します。
子孫の包含
アプリケーションモジュールのすべての子孫を計算に含めるには、[子孫] ボタンを切り替えます。
直接の子孫だけを含める | |
すべての子孫を含める |
これらのオプションを切り替えるためのショートカットはAlt + iです。
メトリックの設定
グラフに表示されるメトリックをカスタマイズおよびフィルタリングするには、垂直の省略記号をクリックして、設定を選択します。メトリックをクリックします。
エスケープされた不具合領域で、エスケープされた不具合が不具合として報告されるようにフィルターを設定します。たとえば、このメトリックをユーザーでフィルタリングできます。
開発サイクル時間領域で、データを収集する開始フェーズと終了フェーズを指定します。標準設定は、進行中および完了です。
不具合コスト領域で、テスト実行をフィルタリングします。たとえば、特定のパイプラインジョブまたはパッケージからの自動実行をフィルタリングできます。
次のステップ